Votre IP: 38.107.179.242 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 26-10-2007 00:00:00
Date de la dernière modification : 05-01-2008 21:54:57
Linux  Vous êtes dans : GNU/Linux Astuces / Base de données

MySQL - 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 :
  1. connexion directe en tant que root, si la configuration de votre système le permet
  2. 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
  1. --skip-grant-tables  (ne pas prendre en compte les droits pour modification de mot de passe)
  2. --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 mysql

A 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 passe

Modification 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

Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS