Lorsque vous rencontrez une erreur d'accès refusé, cela signifie que la connexion TCP a été établie , mais le mot de passe que vous avez fourni est incorrect pour 'User'@'Host'
(une paire utilisateur-hôte est un compte réel pour l'authentification MySQL, pas un seul nom d'utilisateur).
Supposons que le serveur MySQL s'exécute sur 172.0.0.8
et votre adresse locale est 172.0.0.5
.
- Jetez un œil à
mysql.user
par :SELECT * FROM mysql.user\G;
. Si vous ne trouvez aucune de ces deux paires Utilisateur-Hôte :'root'@'172.0.0.5'
et'root'@'%'
, cela signifie qu'un tel compte n'existe pas. Alors vous avez échoué. - Vérifiez également le mot de passe de la paire utilisateur-hôte existante à partir de la sortie ci-dessus.
- Maintenant, la connexion est bonne, le compte existe, le mot de passe est correct, la seule chance pour une telle erreur est :mysqldbcompare n'a pas utilisé les arguments que vous avez fournis !
- Essayez une autre solution comme :
mysqldbcompare --server1=root:[email protected]:3306 --skip-data-check db1:db2
Vérifiez toutes ces choses étape par étape, et vous comprendrez.