Changer le mot de passe mysql

De Le Wiki de debian-fr.xyz
Aller à : navigation, rechercher

Changer le mot de passe Mysql

Il peut arriver d'avoir à changer le mot de passe "root" de Mysql. Voici la méthode:

Stoppez MySql

# /etc/init.d/mysql stop

Démarrez ensuite MySql avec les options suivantes: (Permet de démarrer sans prendre en compte les droits et sans écouter le réseau) L'option --skip-networking est très importante du point de vue de la sécurité, elle permet d'éviter à un petit malin de prendre le controle de MySql - sans mot de passe - pendant votre petite manip...)

# /usr/sbin/mysqld --skip-grant-tables --skip-networking &

Dans une autre console, accédez à MySql (sans mot de passe...)

 1 # mysql -u root
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 1
 4 Server version: 5.1.49-3 (Debian)
 5 
 6 Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
 7 This software comes with ABSOLUTELY NO WARRANTY. This is free software,
 8 and you are welcome to modify and redistribute it under the GPL v2 license
 9 
10 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
11 
12 mysql> FLUSH PRIVILEGES;
13 Query OK, 0 rows affected (0.00 sec)
14 
15 mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('votre_nouveau_mot_de_passe');
16 Query OK, 0 rows affected (0.00 sec)
17 
18 mysql> FLUSH PRIVILEGES;
19 Query OK, 0 rows affected (0.00 sec)
20 
21 mysql> exit
22 Bye

Redémarrez MySql en mode "normal":

# service mysql restart

Faites un test avec le nouveau mot de passe:

 1 # mysql -u root -p
 2 Enter password: 
 3 Welcome to the MySQL monitor.  Commands end with ; or \g.
 4 Your MySQL connection id is 88
 5 Server version: 5.1.49-3 (Debian)
 6 
 7 Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
 8 This software comes with ABSOLUTELY NO WARRANTY. This is free software,
 9 and you are welcome to modify and redistribute it under the GPL v2 license
10 
11 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
12 
13 mysql> exit
14 Bye

Voilà!

Sources

Lol 22 janvier 2012 à 06:38 (CET)