MYSQL - Restaurer le mot de passe root

Publié le 10 juin 2009 par Dictege

Pour pouvoir modifier le mot de passe root de MySQL, il faut pouvoir s’y connecter, Or, si vous n’avez pas le mot de passe root actuel, vous vous retrouvez alors dans une situation difficile à résoudre.  Heureusement, il est possible de se connecter à MySQL en échappant à la phase d’authentification.

# 1 : Stopper mysql

/etc/init.d/mysql stop


Affichage :
Stopping MySQL database server: mysqld.

# 2: Démarrer mysql sans contrôle des mots de passe:

mysqld_safe --skip-grant-tables &

Affichage:

Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[xxxx]: started

# 3: Connexion sur mysql:

mysql -u root

Affichage:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: ....
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

# 4: Changement du mot de passe root

use mysql;
update user set password=PASSWORD("nouveau mot de passe") where User='root';
flush privileges;
quit

# 5: Arret de MySQL:

/etc/init.d/mysql stop


Affichage:
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[xxx]: ended

# 6: Redémarrage de MySQL

/etc/init.d/mysql start
mysql -u root -p

Entrez votre nouveau mot de passe, et vous dites YES !