Ernest

Changer le mot de passe root mysql

Dernière modification : 2014-10-29 02:42:01

Il suffit de chercher "reset mysql root password" sur un moteur de recherche pour mesurer à quel point il est facile d'égarer le mot de passe de sa BDD. Voici une procédure très simple pour le redéfinir, à condition d'avoir le mot de passe root du serveur.

1) Arrêter le serveur mysqld puis le relancer avec l'option --skip-grant-tables option. Attention, cette manipulation autorise temporairement les connexions sans mot de passe donc si votre BDD contient des informations hautement sensibles (genre les photos de tonton Patrick en slibard de bain à la Bourboule pendant l'été 1996), tous les hackers du monde vont se jeter sur votre serveur. Si vous êtes vraiment parano, ajoutez l'option --skip-networking en plus, ce qui empêche les connexions distantes le temps de l'opération. De toute manière, y en a pour 30 secondes à tout casser, donc tonton Patrick ne court finalement que relativement peu de risques. Fin moi ske j'en dis hein ...

Pour commencer, vous devez tuer le démon mysqld et pour ça on doit trouver son PID (numéro de process), puis on utilise la commande kill, en bons bourrins que nous sommes :


root@paranoia:~/# ps aux | grep mysqld
mysql     8005  0.1  4.6 397264 49048 pts/0    Sl   22:30   0:05 mysqld
root     12082  0.0  0.0   8296   904 pts/0    S+   23:21   0:00 grep mysqld
root@paranoia:~# kill -9 8005

2) Ensuite, nous relançons le serveur avec les options qui vont bien et l'esperluette à la fin (&) pour garder la main :


root@paranoia:~/# mysqld --skip-grant-tables --skip-networking &

3) Maintenant, on se connecte à mysql en tapant 'mysql' (steblague !) ce qui nous amène devant un prompt mysql :


root@paranoia:~/# mysql
mysql> 

4) Là, on change son mot de passe en tapant la ligne suivante (au cas où tu aurais de la purée de fraises entre les oreilles, je précise qu'il faut remplacer "mot de passe" par le mot de passe que tu veux hein) :


mysql> UPDATE mysql.user SET Password=PASSWORD('motdepasse') WHERE User='root';

Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

5) Pour quitter le client mysql, il faut appuyer sur [Ctrl]+[d]. Enfin, relancer le serveur mysql sans les options vues précédemment (service mysql start si c'est du SYS V, systemctl start mysql si c'est du systemd et si tu as de l'upstart, tu cherches parce que je ne vais pas tout faire à ta place non plus hein. Over.

[ sommaire ] | [ home ]