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.