MySQL : solution à « Can’t find any matching row in the user table »
Voilà quel était mon problème, et j’espère vous aider en vous apportant une solution si vous avez ce problème :
j’ai fait un dump complet de toutes les bases de données mysql dans un gros fichier, via l’ordre mysqldump
:
mysqldump -u root -pmonmotdepasse --all-databases > a_integrer.sql
Ensuite j’ai copié le fichier sur l’ordinateur destination, et j’ai ré-injecté le sql dans la base de données, ce qui a tout ré-intégré de manière transparente :
mysqldump -u root -pmonmotdepasse < a_integrer.sql
Le seul problème, c’est que, sur l’ordinateur destination, impossible de se connecter sur la base de données, alors que l’utilisateur avait bien été intégré dans la base. En me connectant à la base, j’ai voulu modifier le mot de passe, mais impossible. L’erreur était la suivante :
Can't find any matching row in the user table
Donc impossible de changer le mot de passe alors que l’utilisateur existe bien.
La solution qui a fonctionné est la suivante : supprimer puis recréer l’utilisateur avec les droits d’accès adéquats.
Faites la même chose :
- un
mysqldump
total ; - ré-injection sur l’ordinateur destination ;
- si problème avec les mots de passe : suppression à la main du compte
mysql
concerné, puis re-création avec les bons droits.