L’oubli du mot de passe racine de MySQL peut être une expérience frustrante, surtout si vous avez besoin d’un accès immédiat pour gérer vos bases de données. Heureusement, la réinitialisation du mot de passe racine est un processus simple si vous disposez d’un accès administratif au serveur. Ce guide vous guidera à travers les étapes à suivre pour les systèmes Linux et Windows.

Conditions préalables

Avant de poursuivre, assurez-vous que vous disposez des éléments suivants

  • Un accès administratif au système (privilèges root ou sudo)

  • Accès au shell ou à la ligne de commande (SSH ou terminal)

Méthode 1 : réinitialiser le mot de passe racine de MySQL sous Linux

Etape 1 : Arrêter le service MySQL

sudo systemctl stop mysql

Étape 2 : Démarrer MySQL en mode sécurisé

Démarrez MySQL sans authentification par mot de passe :

sudo mysqld_safe --skip-grant-tables &

Cela vous permettra d’accéder à MySQL sans mot de passe. Sachez que ce mode n’est pas sécurisé et qu’il ne doit être utilisé que temporairement.

Étape 3 : Accéder à MySQL

mysql -u root

Étape 4 : Modifier le mot de passe root

Exécutez les commandes suivantes dans le shell MySQL :

FLUSH PRIVILEGES ;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword';

Si vous utilisez MySQL 5.7 ou une version antérieure, la syntaxe peut varier :

SET PASSWORD FOR 'root'@'localhost ' = PASSWORD('YourNewStrongPassword') ;

Étape 5 : Redémarrer MySQL normalement

sudo systemctl stop mysql
sudo systemctl start mysql

Vous devriez maintenant pouvoir vous connecter avec le nouveau mot de passe :

mysql -u root -p

Méthode 2 : Réinitialiser le mot de passe root sous Windows

Étape 1 : Arrêter le service MySQL

Ouvrez les services (services.msc) et arrêtez le service MySQL.

Étape 2 : Créer un script de réinitialisation du mot de passe

Créez un fichier texte C:\mysql-init.txt avec le contenu suivant :

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword';

Étape 3 : Démarrer MySQL avec le script

Exécutez la commande suivante dans l’Invite de commande (ajustez les chemins en conséquence) :

mysqld --init-file="C:\Nmysql-init.txt"

Après le démarrage et l’application de la modification, arrêtez MySQL et redémarrez-le normalement via le gestionnaire de services.

Supprimez le fichier mysql-init.txt après la réinitialisation pour éviter les risques de sécurité.

Conseils pour une gestion sécurisée des mots de passe

  • Utilisez toujours un mot de passe fort et unique pour le compte racine de MySQL.

  • Envisagez de désactiver l’accès à distance pour l’utilisateur root afin de renforcer la sécurité.

  • Utilisez un gestionnaire de mots de passe pour stocker les informations d’identification en toute sécurité.

Conclusion

La réinitialisation du mot de passe racine de MySQL est un processus gérable, mais il doit être effectué avec précaution pour éviter d’introduire des risques de sécurité. Si vous avez fréquemment besoin d’un accès root, envisagez de créer un utilisateur MySQL de niveau administrateur distinct pour réduire les risques et maintenir une meilleure hygiène de sécurité.