Perte du mot de passe root - MySQL

De UnixManiax
Aller à la navigation Aller à la recherche
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.


Si vous avez perdu le mot de passe root de mysql, voici comment le réinitialiser.


Si vous avez un autre compte admin mysql

Dans ce cas, il suffit de se connecter avec un autre compte ayant les droits d'admin (par exemple "toto") et de réinitialiser le mot de passe root, comme suit :

mysql -utoto mysql 			
# réinitialiser le mot de passe root 			
UPDATE user SET password=PASSWORD('nouveaumotdepasse') WHERE user="root"; 			
# appliquer les modifs 			
FLUSH PRIVILEGES; 			
# quitter  			
exit

Et voilà.


Si vous n'avez pas d'autre compte admin mysql, mais que vous êtes root sur le système

Dans ce cas, on va devoir faire un arrêt de la base :

# se connecter en root
su  -

# arrêter MySQL
service mysqld stop    # pour Redhat ou "/etc/init.d/mysql stop" pour debian

# relancer MySQL sans le contrôle des permissions
mysqld_safe --skip-grant-tables &

# se connecter sans mot de passe
mysql -uroot mysql

# réinitialiser le mot de passe root
UPDATE user SET password=PASSWORD('nouveaumotdepasse') WHERE user="root";
flush privileges;

# quitter
exit

# relance MySQL
service mysqld restart    # pour Redhat ou "/etc/init.d/mysql restart" pour debian

Et voilà, vous pouvez vous reconnecter avec votre nouveau mot de passe !