Mysql
 sql >> Base de données >  >> RDS >> Mysql

accès mysqldbcompare refusé mais la commande mysql fonctionne

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 .

  1. 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é.
  2. Vérifiez également le mot de passe de la paire utilisateur-hôte existante à partir de la sortie ci-dessus.
  3. 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 !
  4. 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.