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
.
- 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. - Überprüfen Sie auch das Passwort des bestehenden Benutzer-Host-Paares aus der obigen Ausgabe.
- 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!
- 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.