Je ne fais pas souvent de billet sur MySQL, il est vrai que le SGBD est assez simple d'utilisation toutefois il semble qu'il y ai une pénurie de spécialistes sur le sujet. Ici je vais décrire comment ré-initialiser le mot de passe du root en cas de perte de celui-ci.

Le billet se base sur une Debian, mais adaptable sans problème sur toute distribution.

Dans un premier temps, stopper MySQL

/etc/init.d/mysql stop

Redémarrer le démon MySQL en tache de fond et passer outre l'identification. Pour des raisons de sécurité désactiver aussi l'écoute du réseau :

mysqld --skip-grant-tables --skip-networking &

Se connecter en root sur MySQL, il n'y a plus de mot de passe, il suffit donc de faire Entrée au prompt demandant le mot de passe.

mysql -u root -p

Au prompt MySQL réinitialiser le mot de passe, j'utilise ici motdepasse via la fonction password qui le crypte.

mysql> use mysql;
mysql> update user set password=password('motdepasse') where user="root";
mysql> flush privileges;
mysql> exit;

Très important ne pas oublier flush privileges, sinon ça ne marche pas !

Redémarrer MySQL normalement.

/etc/init.d/mysql restart

Rien de plus à faire.