Skip to content

Instantly share code, notes, and snippets.

@paulido
Created October 6, 2024 15:24
Show Gist options
  • Save paulido/a5f6e3aff04cf94dbe575cbbe2a246ea to your computer and use it in GitHub Desktop.
Save paulido/a5f6e3aff04cf94dbe575cbbe2a246ea to your computer and use it in GitHub Desktop.

Installation de MySQL

Mise à jour du Système

Assurez-vous que votre système est à jour en exécutant les commandes suivantes dans le terminal :

sudo apt update
sudo apt upgrade

Installation de MySQL Server

Installez le serveur MySQL en utilisant la commande suivante :

sudo apt install mysql-server

Pendant l'installation, vous serez invité à définir un mot de passe pour l'utilisateur root de MySQL. Choisissez un mot de passe fort et mémorisez-le.

Sécurisation de l'Installation

MySQL inclut un script de sécurité pour renforcer les paramètres de sécurité. Exécutez-le avec la commande suivante :

sudo mysql_secure_installation

Suivez les instructions et répondez aux questions pour renforcer la sécurité de votre installation.

Vérification du Statut de MySQL

Assurez-vous que MySQL est en cours d'exécution avec la commande :

sudo systemctl status mysql

Connexion à MySQL

Connectez-vous à votre serveur MySQL en tant qu'utilisateur root avec la commande :

sudo mysql -u root -p

Entrez le mot de passe que vous avez défini lors de l'installation.

Création d'un Nouvel Utilisateur MySQL (Optionnel)

Si vous souhaitez créer un utilisateur MySQL supplémentaire, vous pouvez le faire en suivant ces étapes dans le shell MySQL :

CREATE USER 'votre_utilisateur'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';
GRANT ALL PRIVILEGES ON *.* TO 'votre_utilisateur'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Installation du Client MySQL (Optionnel)

Pour installer le client MySQL, qui vous permettra de vous connecter à des serveurs MySQL distants, utilisez la commande :

sudo apt install mysql-client

Sécurité et optimisation de MYSQL

1. Configurer l'accès à distance:

Modifiez le fichier de configuration MySQL (my.cnf) pour autoriser l'accès depuis des adresses IP spécifiques.

# Emplacement du fichier de configuration (peut varier selon votre système)
sudo nano /etc/mysql/my.cnf

Ajoutez ou modifiez la ligne suivante sous la section [mysqld] :

bind-address = VOTRE_IP

2. Configurer la sécurité du mot de passe:

Assurez-vous que vos comptes MySQL utilisent des mots de passe forts et évitez les mots de passe vides. Utilisez la commande MySQL pour mettre à jour les mots de passe :

mysql -u root -p
ALTER USER 'utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe';

3. Configurer la journalisation:

Activez les journaux MySQL pour enregistrer les activités. Ajoutez ces lignes dans le fichier de configuration (my.cnf) sous la section [mysqld] :

general_log = 1
general_log_file = /var/log/mysql/mysql.log

4. Configurer les privilèges d'utilisateur:

Accordez aux utilisateurs MySQL uniquement les privilèges nécessaires. Évitez d'utiliser l'utilisateur root pour des tâches quotidiennes.

5. Configurer les paramètres de performance:

Ajustez les paramètres de configuration MySQL. Voici un exemple de configuration pour améliorer les performances dans le fichier my.cnf:

innodb_buffer_pool_size = 256M
query_cache_size = 64M

6. Configurer la sauvegarde automatique:

Configurez des sauvegardes régulières. Vous pouvez utiliser des outils comme mysqldump ou des solutions plus avancées comme Percona XtraBackup.

  1. Faire un dump de la base de données
mysqldump -hMY_HOST.COM -uDB_USERNAME -pDB_PASSWORD USERNAME_DATABASENAME > MysqlDump.sql
  1. Copier le dump vers un autre serveur
scp user@MY_HOST.COM:/some/path/file user2@MY_HOST2.COM:/some/path/file

Nb: executer ces commande avec cron

7. Configurer le chiffrement:

Activez le chiffrement SSL en ajoutant ces lignes dans le fichier my.cnf :

ssl-key=/path/to/private-key.pem
ssl-cert=/path/to/server-cert.pem
ssl-ca=/path/to/ca-cert.pem

8. Configurer la validation de l'intégrité des données:

Activez l'option innodb_file_per_table dans le fichier my.cnf pour améliorer la gestion de l'espace disque.

9. Configurer les journaux d'erreurs :

Surveillez les journaux d'erreurs MySQL (habituellement situés dans /var/log/mysql/error.log) régulièrement.

10. Effectuer des mises à jour régulières:

Mettez à jour MySQL régulièrement avec les derniers correctifs de sécurité :

sudo apt update
sudo apt upgrade

Assurez-vous de redémarrer le service MySQL après avoir apporté des modifications à la configuration:

sudo service mysql restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment