Skip to main content Help Control Panel

Astuces en pagailles «  

Perte du Mot de Passe de l'utilisateur ROOT de Mysql

Posted by M. declercq on Jul. 6 2006, page edited by M. declercq on Mar. 24, (popular)  
Tags: mysql root

Cette astuce s'adresse à ceux qui on perdu le mot de passe de l'utilisateur 'root' du Serveur Mysql et qui n'arrivent plus à se connecter. Elle permet de se connecter au moniteur SQL sans utiliser la table des privilèges utilisateurs afin de pouvoir attribuer un nouveau mot de passe au compte 'root' du Serveur Mysql.

Informations préliminaires

Toutes les commandes évoquées dans cette astuce doivent êtres exécutées avec les privilèges de l'utilisateur root ( administrateur système ).

Modification du mot de passe de l'utilisateur root (sql)

1. On se connecte en tant qu'utilisateur root :
sudo -s
2. On stop le Serveur Mysql :
/etc/init.d/mysql stop
3. On lance le Serveur Mysql sans tenir compte des privilèges utilisateurs :
/usr/sbin/mysqld --skip-grant-tables &
Normalement, après avoir exécuté cette dernière commande, vous devriez obtenir ce genre de sortie :
[1] 19729
root@oceane:~# 060706 19:03:26 InnoDB: Started; log sequence number 0 43655
060706 19:03:26 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.22-Debian_0ubuntu6.06-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 Debian Etch distribution
Dès à présent, vous devez presser sur la touche Enter pour obtenir le prompt. 4. On lance le Moniteur SQL :
mysql mysql
Vous devriez obtenir la sortie suivante :
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 5.0.22-Debian_0ubuntu6.06-log

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>
5. On exécute une requête pour mettre le mot de passe de l'utilisateur root mysql à jour :
update user set password=PASSWORD("YOUR_PASSWORD") where user='root';
Note : Vous devez remplacer YOUR_PASSWORD par le mot de passe de votre choix.

La requête SQL étant exécutée, vous devriez obtenir ce genre de sortie :
Query OK, 1 rows affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
6. On quitte le moniteur SQL :
quit
7. On tue les processus du serveur Mysql :
killall mysqld
vous devriez obtenir ce genre de sortie :
040313  2:08:21  /usr/sbin/mysqld: Normal shutdown
040313 2:08:21 /usr/sbin/mysqld: Shutdown Complete
[1] + done /usr/sbin/mysqld --skip-grant-tables
8. On re-démarre le Serveur Mysql normalement :
/etc/init.d/mysql start





Cette astuce a été testée avec succès sur un système exploitant la distribution Ubuntu Dapper Drake (6.06 LTS) et le Serveur Mysql-5.0.

Les commandes à exécuter peuvent différer selon la distribution utilisée.




Une erreur, une incompréhension concernant cette astuce ? N'hésitez pas à utiliser la fonction commentaire de notre portail et/ou à nous joindre directement en utilisant notre formulaire contact : Nous contacter

Par M. Laurent DECLERCQ

V.1.1 build 20080324.0600

Yacs skin by Laurent DECLERCQ - 2006-2008 - All right reserved