Date création : 26-10-2007 00:00:00 Date de la dernière modification : 05-01-2008 21:54:57
 Vous êtes dans : GNU/Linux Astuces / Base de donnéesMySQL - mot de passe oublié
Etape 1 - connexion en root
Etape 2 - arrêt de serveur mysql
Etape 3 - démarrage de serveur mysql (options spéciales)
Etape 4 - connection sur mysql
Etape 5 - mise à jour de mot de passe
Etape 6 - redémarrage de serveur mysql
Manipulation complète
Etape 1 - connexion en root
Vous devez vous connecter en tant que root pour pouvoir réaliser cette manipulation.
Pour faire cela vous avez deux possibilités :
- connexion directe en tant que root, si la configuration de votre système le permet
- utilisation de la commande su ou su -
lami20j@debian:~$ su -
Password:
root@debian:~#
|
Note :
Sur certains systèmes GNU/Linux (par exemple les OS de la famille UBUNTU), vous devrez exécuter la commande sudo -s pour vous connecter en root.
Etape 2 - arrêt de serveur mysql
|
root@debian:~# /etc/init.d/mysql stop
|
C'est possible que sur votre système le service s'appelle mysqld.
En ce cas tapez la commande /etc/init.d/mysqld stop
Etape 3 - démarrage de serveur mysql (options spéciales)Démarrage de mysql avec les options --skip-grant-tables et --skip-networking
- --skip-grant-tables (ne pas prendre en compte les droits pour modification de mot de passe)
- --skip-networking (n'écoute pas sur le réseau - pour eviter le risque d'intrusion)
|
root@debian:~#
mysqld_safe --skip-grant-tables --skip-networking & |
Etape 4 - connection sur mysqlA ce moment vous pouvez modifier le mot de passe sans avoir besoin de connaître l'ancien (que vous avez oublié). Pour faire cela vous devez d'abord vous connecter sur mysql.
root@debian:~# mysql mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.21-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
|
Etape 5 - mise à jour de mot de passeModification de mot de passe en utilisant une requête SQL.
Dans cet exemple j'ai utilisé un mot de passe bidon aaaaaaaa. A vous de mettre un mot de passe qui vous convient.
Ensuite quitter mysql en utilisant le mot clé exit.
mysql> update user set password=password('aaaaaaaa') where user="root" and host="localhost";
Query OK, 0 rows affected (0,00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> exit
Bye
|
Etape 6 - rédemarrage de serveur mysql
Il ne vous reste qu'à redémarrer le serveur mysql et vous pouvez utiliser le mot de passe nouvellement créé.
root@debian:~# mysqladmin shutdown
STOPPING server from pid file /var/lib/mysql/debian.pid
030811 14:38:40 mysqld ended
[1]+ Done /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking
# /etc/init.d/mysql start
Starting MySQL
|
Pour vous connecter et tester le nouveau mot de passe taper dans une console mysql -u root -p. Le mot de passe sera demandé, alors saisissez le nouveau mot de passe.
Si vous utilisez phpmyadmin, vous pouvez faire le test directement en essayant de vous connecter sur phpmyadmin.
Manipulation complète
lami20j@debian:~$ su -
Password:
root@debian:~# /etc/init.d/mysql stop
Shutting down MySQL..
root@debian:~# mysqld_safe --skip-grant-tables --skip-networking &
[1] 4983
# Starting mysqld daemon with databases from /var/lib/mysql
root@debian:~# mysql mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.21-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> update user set password=password('aaaaaaaa') where user="root" and host="localhost";
Query OK, 0 rows affected (0,00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> exit
Bye
root@debian:~# mysqladmin shutdown
STOPPING server from pid file /var/lib/mysql/debian.pid
030811 14:38:40 mysqld ended
[1]+ Done /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking
root@debian:~# /etc/init.d/mysql start
Starting MySQL
root@debian:~# mysql -u root -p
|
|