Login
blog > developpement > [Linux/MySQL] Récupérer son mot de passe root

[Linux/MySQL] Récupérer son mot de passe root

Posté par : Seb - Le Vendredi 16 Mai 2008 à 10:29

Ceux qui ont déjà administré une base de donnée connaissent la douleur que peut ressentir un administrateur lorsqu'il perd ses mots de passe root.


En pleine manipulation cet-après midi suite à une fausse manip lors de l'installation de MySQL Server, j'ai perdu le compte root, voici donc pour vous éviter de galérer la marche à suivre.

Pour les versions actuelles

On coupe le service lancé :

# /etc/init.d/mysql stop


On créé un fichier de commande qui sera chargé au lancement :

# echo "SET PASSWORD FOR root@localhost=PASSWORD('ilovekookyoo');" > /tmp/mysql-init


On lance mysql-safe avec les commandes pour charger ledit fichier :

#/usr/bin/mysqld_safe --init-file=/tmp/mysql-init &


Il ne reste plus qu'à tuer la tâche et relancer le serveur mysql normalement.

# /etc/init.d/mysql start

Pour les anciennes versions

la démarche est la suivante :

On supose le service lancé, la commande  suivant permet d'arrêter le service :

# /etc/init.d/mysql stop


Il faut ensuite relancer mysql avec les options pour ne pas tenir compte des mots de passe (attention, ce doit être temporaire) :

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

[1] 2321
080515 19:06:33  InnoDB: Started; log sequence number 0 43655
080515 19:06:33 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.32-Debian_7etch5-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  Debian etch distribution


Reste à se connecter à notre base normalement, sans mot de passe root :

# mysql -u root mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.32-Debian_7etch5-log Debian etch distribution

SET PASSWORD FOR root@localhost=PASSWORD('ilovekookyoo');
 



Article précédant :
Un objet qui se dirige vers un point
Article suivant :
Media Player Classic : pixel shaders pour les dbutants!






Commentaires 5 commentaires

farwarx le 16 Mai 2008 à 11:44

N'oublies pas d'effacer le fichier: /tmp/mysql-init
Intéressant tout de même, je ne connaissais pas.
Tu peux préciser les versions de mysql? 'versions actuelles' et 'anciennes versions'

Seb le 16 Mai 2008 à 13:58

Je ne sais pas à quelle version ça a changé. Si je trouve l'info je mettrais à jour.

Tonio le 17 Mai 2008 à 1:34

En effet bien utile ces commandes... hier encore, j'ai eu ce genre de problème en installant mon serveur web.
Dans mon cas, j'avais rien qui m'empêchait de réinstaller mysql pour que tout redevienne normal, mais si on souhaite être sûr de conserver toutes ses bases et fichiers de config c'est sur que cette technique reste la meilleure...

farwarx le 08 Février 2011 à 17:34

Merci le tuto ;)
J'en avais justement besoin, et en 3 clics, comme je me souvenais que tu avais fais ce tuto, mon password est modifié ;)
Merci ^^

Seb le 08 Février 2011 à 17:37

:) J'étais tellement content de trouver cette manip qui m'a sauvé pas mal de choses qu'il fallait la partager ;)



.laisser un commentaire




Codes html interdits. Les liens sont convertis automatiquement.

Réalisation

Code & Design : Sébastien Cardona

Page générée en : 0.043298s