Habituellement, les mots de passe sont faits pour protéger des accès. Cependant, il arrive parfois que vous l’oubliiez et que vous ne puissiez plus accéder à vos privilèges.
Si c’est le cas pour votre serveur MySQL, pas de panique, nous avons la solution en main sur ce tutoriel.
Remarque importante : Toutes les opérations suivantes seront exécutées dans le terminal Linux ou via une connexion SSH.
Tout d’abord, il faut arrêter le démon MySQL ainsi que toutes les instances de MySQL qui sont en cours d’exécution.
Pour arrêter le service ou démon :
service mysql stop
Pour « tuer » toutes les instances MySQL en cours :
killall -9 mysqld mysqld_safe
Il est maintenant temps d’éxecuter MySQL sans charger la table des privilèges. Pour ce faire :
mysqld_safe –skip-grant-tables
Et voilà, vous avez un démon avec lequel vous pouvez vous connecter sans disposer de mot de passe.
Remarque : cette commande verouillera votre écran pour afficher des logs. Il vous faut une nouvelle fenêtre ou une nouvelle instance de client SSH pour continuer.
Il est très déconseillé de s’arrêter ici, car tout le monde peut se connecter sur votre serveur, explorer son contenu et éventuellement modifier des données.
Il est alors temps d’assigner un nouveau mot de passe. Tout d’abord, ouvrons un client MySQL sur la base de données « mysql » :
mysql --user=root mysql
Maintenant, voici la commande MySQL pour modifier le mot de passe :
update user set Password=PASSWORD(‘new-password’) where user=’root’;
flush privileges;
exit;
Remplacez « new-password » par un mot de passe de votre choix.
Maintenant, redémarrons MySQL normalement. Tout d’abord, nous allons de nouveau « tuer » tous les processus de MySQL. Comme réalisé plus haut :
service mysqld stop
killall -9 mysqld mysqld_safe
Puis, démarrons normalement MySQL :
service mysqld start
Et, le tour est joué. Connectez-vous sur votre phpMyAdmin.