Assurez-vous que votre système est à jour en exécutant les commandes suivantes dans le terminal :
sudo apt update
sudo apt upgrade
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.
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.
Assurez-vous que MySQL est en cours d'exécution avec la commande :
sudo systemctl status 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.
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;
Pour installer le client MySQL, qui vous permettra de vous connecter à des serveurs MySQL distants, utilisez la commande :
sudo apt install mysql-client
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
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';
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
Accordez aux utilisateurs MySQL uniquement les privilèges nécessaires. Évitez d'utiliser l'utilisateur root pour des tâches quotidiennes.
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
Configurez des sauvegardes régulières. Vous pouvez utiliser des outils comme mysqldump ou des solutions plus avancées comme Percona XtraBackup.
- Faire un dump de la base de données
mysqldump -hMY_HOST.COM -uDB_USERNAME -pDB_PASSWORD USERNAME_DATABASENAME > MysqlDump.sql
- 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
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
Activez l'option innodb_file_per_table dans le fichier my.cnf
pour améliorer la gestion de l'espace disque.
Surveillez les journaux d'erreurs MySQL (habituellement situés dans /var/log/mysql/error.log
) régulièrement.
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