La chose la plus bête du monde et qui arrive sur des serveurs qu’on utilise peu, J’ai perdu le mot de passe root de mon Mysql.

Heureusement Eric super informaticien et collègue connaît la procédure par coeur. Comme je n’ai pas sa super mémoire je me fais un mémo.

Il est à noter que pendant que vous faites cette manipulation, n’importe qui peut se connecter sans mot de passe avec n’importe quel user.

Tout d’abord il faut un accès SSH (en console) à la machine, ensuite suivre la procédure suivant. Elle consiste à démarrer mysql sans contrôle des autorisations.

 

1) arrêter le mysql

        sudo service mysql stop

2) le redémarrer en manuel avec l’option  --skip-grant-tables ce qui donne

sudo /usr/bin/mysqld_safe --skip-grant-tables

 

 

3) Ensuite on vérifie que mysql sql est bien démarré en mode skip

       

jbaptiste@Ubuntu-v2:/etc/nginx/sites-available$ ps -eaf | grep mysql

root          8287  6270  0 17:29 pts/1        00:00:00 sudo /usr/bin/mysqld_safe --skip-grant-tables

root          8288  8287  0 17:29 pts/1        00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables

mysql         8648  8288  0 17:29 pts/1        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306

1000          8721  8672  0 17:30 pts/2        00:00:00 grep --color=auto mysql

 

 

 

4) on se connecte à mysql

Mysql img 001

mysql -u root

 on doit avoir un truc dans le genre

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.32-0ubuntu0.13.04.1 (Ubuntu)

 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Ensuite on change de database 

use mysql;

 

 ET voici la ligne du miracle, enfin juste du changement de mot de passe root ...

 

mysql> update user set Password=password('password') where User like 'root%';

 Si tout c'est bien passé la réponse doit être un truc dans ce goût là

 

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

 

 

5) on arrête le serveur mysql  soit avec ctrl +c

sinon en tuant les processus (repérez bien le numéro de cet dernier, voir plus haut comment obtenir le numéro pour les débutant)

sudo kill -9 8287 

sudo kill -9 8648

 

 

Attention de bien killer toutes les lignes avec le token   --skip-grant-tables sinon n’importe quel mot de passe fonctionne pour n’importe quel user.

 

6) on relance et on teste

 

Comments powered by CComment

We use cookies

Nous utilisons des cookies sur notre site web. Certains d’entre eux sont essentiels au fonctionnement du site et d’autres nous aident à améliorer ce site et l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, vous risquez de ne pas pouvoir utiliser l’ensemble des fonctionnalités du site.