Als u een fout met toegang geweigerd hebt, betekent dit dat de TCP-verbinding tot stand is gebracht , maar het wachtwoord dat je hebt opgegeven is onjuist voor'User'@'Host'
(een User-Host-paar is een echt account voor MySQL-authenticatie, geen enkele gebruikersnaam).
Stel dat de MySQL-server draait op 172.0.0.8
en uw lokale adres is 172.0.0.5
.
- Bekijk
mysql.user
door:SELECT * FROM mysql.user\G;
. Als u geen van deze twee gebruikers-host-paren kunt vinden:'root'@'172.0.0.5'
en'root'@'%'
, betekent dit dat er geen dergelijk account is. Dus je hebt gefaald. - Controleer ook het wachtwoord van het bestaande User-Host-paar uit de bovenstaande uitvoer.
- Nu is de verbinding in orde, het account bestaat, het wachtwoord is juist, de enige kans op zo'n fout is:mysqldbcompare heeft de door jou opgegeven argumenten niet gebruikt!
- Probeer een andere oplossing, zoals:
mysqldbcompare --server1=root:[email protected]:3306 --skip-data-check db1:db2
Controleer al deze dingen stap voor stap, en je zult erachter komen.