Aie! J’ai perdu mon mot de passe root MySQL

janvier 16, 2009

En cas de perte du mot de passe root surtout si c’est votre seul compte (super) administrateur, vous vous trouvez dans une situation pour le moins embarrassante.
MySQL propose un moyen de s’en sortir. Certes, si le mot de passe est perdu vous ne pourrai pas le récupérer, car il est stocké haché dans la base:

Néanmoins il est possible de le changer. Voici les étapes à suivre:

 

1/ Arrêter le serveur MySQL

Cela ne devrait pas poser trop de problèmes:
mysql stop (sous linux)
NET STOP MySQL (sous windows)

ou dans le pire des cas, débranchez la machine 🙂

 

2/ Démarrer le serveur en désactivant la vérifications des droits

Il important de noter qu’une fois démarré avec skip-grant-table, n’importe qui peut se connecter au serveur MySQL et avec tout les droits… Inutile de préciser que le serveur est à ce moment particulièrement vulnérable.

 

3/ Connexion au serveur MySQL

Connectez vous au serveur mysql, comme à l’accoutumée.

 

4/ Protéger le serveur

La première chose à faire, une fois connecté est de sécuriser le serveur en remettant en place la vérification des droits:

 

5/ Changer le mot de passe

L’heure est enfin venue de se créer un nouveau mot de passe root

 

6/ Arrêter le serveur

Pour sortir de la configuration skip-grant-tables, il faut arrêter le serveur, pour mieux le redémarrer…

 

7/ Redémarrer le serveur normalement

et le tour est joué 🙂

 

One Response to “Aie! J’ai perdu mon mot de passe root MySQL”

  1. Je trouve la procédure plus rapide depuis le passage de Linux de SysVinit à systemd.

    -> http://www.dsfc.net/logiciel-libre/mysql-logiciel-libre/perte-mot-de-passe-root-mysql-mariadb/