Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysqldbcompare-Zugriff verweigert, aber mysql-Befehl funktioniert

Wenn Sie auf einen Zugriffsverweigerungsfehler gestoßen sind, bedeutet dies, dass die TCP-Verbindung hergestellt wurde , aber das von Ihnen angegebene Passwort ist falsch für'User'@'Host' (Ein Benutzer-Host-Paar ist ein echtes Konto für die MySQL-Authentifizierung, kein einzelner Benutzername).

Angenommen, der MySQL-Server läuft auf 172.0.0.8 und Ihre lokale Adresse ist 172.0.0.5 .

  1. Schauen Sie sich mysql.user an durch:SELECT * FROM mysql.user\G; . Wenn Sie keines dieser beiden Benutzer-Host-Paare finden können:'root'@'172.0.0.5' und 'root'@'%' , bedeutet dies, dass es kein solches Konto gibt. Du hast also versagt.
  2. Überprüfen Sie auch das Passwort des bestehenden Benutzer-Host-Paares aus der obigen Ausgabe.
  3. Jetzt ist die Verbindung in Ordnung, das Konto existiert, das Passwort ist richtig, die einzige Möglichkeit für einen solchen Fehler ist:mysqldbcompare hat die von Ihnen angegebenen Argumente nicht verwendet!
  4. Versuchen Sie eine andere Problemumgehung wie:mysqldbcompare --server1=root:[email protected]:3306 --skip-data-check db1:db2

Überprüfen Sie all diese Dinge Schritt für Schritt, und Sie werden es herausfinden.