sql >> Database >  >> RDS >> Mysql

mysqldbcompare toegang geweigerd maar mysql commando werkt

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 .

  1. 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.
  2. Controleer ook het wachtwoord van het bestaande User-Host-paar uit de bovenstaande uitvoer.
  3. 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!
  4. 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.



  1. Hoe aan de slag met SQLCipher voor Android?

  2. Is er een verschil tussen deze twee vragen?

  3. Hoe meerdere één-op-één te maken

  4. Waarom meerdere JOIN's slecht zijn voor query's of de Optimizer niet in de weg staan