Perte du mot de passe root MySQL / MariaDB

Perte du mot de passe root MySQL / MariaDBSi vous avez perdu ou oublié le mot de passe associé au compte root de votre instance de bases de données MySQL / MariaDB, il existe une solution extrêmement simple pour le réinitialiser.

Redémarrer le service MySQL en mode –skip-grant-tables

systemd a désormais remplacé la méthode SysV dite SysVinit de lancement des services sous Linux.

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl restart mariadb

Dans ce mode, la connexion au compte root ne requiert plus aucun mot de passe !

Définir un nouveau mot de passe avec mysql_secure_installation

Il existe plusieurs méthodes pour réinitialiser le mot de passe. Je vous recommande pour ma part l’utilisation de la commande :

mysql_secure_installation

Autre(s) méthode(s) à l’aide d’instructions SQL

Connectez-vous à la base de données en tapant à partir de l’invite la commande mysql.  Puis, dans l’interpréteur MySQL, tapez :

SET PASSWORD FOR root@'localhost'=PASSWORD('mon_nouveau_mot-de_passe');

ou

UPDATE mysql.user SET password=PASSWORD('mon_nouveau_mot_de_passe') WHERE User='root' AND Host = 'localhost';
FLUSH PRIVILEGES;

ou

GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY 'mon_nouveau_mot_de_passe';

Redémarrer le service en désactivant le mode –skip-grant-tables

Il ne vous reste plus qu’à redémarrer le service MySQL / MariaDB, pour que le nouveau mot de passe soit pris en compte  :

systemctl unset-environment MYSQLD_OPTS
systemctl restart mariadb

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

 

MySQL / , , , , , , ,