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.useran 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:example@sqldat.com:3306 --skip-data-check db1:db2
Überprüfen Sie all diese Dinge Schritt für Schritt, und Sie werden es herausfinden.