Gdy napotkasz błąd odmowy dostępu, oznacza to, że połączenie TCP zostało ustanowione , ale podane hasło jest nieprawidłowe dla 'User'@'Host' (Para użytkownik-host to prawdziwe konto do uwierzytelniania MySQL, a nie pojedyncza nazwa użytkownika).
Załóżmy, że serwer MySQL działa na 172.0.0.8 Twój lokalny adres to 172.0.0.5 .
- Spójrz na
mysql.userprzez:SELECT * FROM mysql.user\G;. Jeśli nie możesz znaleźć żadnej z tych dwóch par użytkownik-host:'root'@'172.0.0.5'i'root'@'%', oznacza to, że nie ma takiego konta. Więc zawiodłeś. - Sprawdź również hasło istniejącej pary użytkownik-host z powyższego wyniku.
- Teraz połączenie jest w porządku, konto istnieje, hasło jest prawidłowe, jedyna szansa na taki błąd to:mysqldbcompare nie użyło podanych przez Ciebie argumentów!
- Wypróbuj inne obejście, takie jak:
mysqldbcompare --server1=root:example@sqldat.com:3306 --skip-data-check db1:db2
Sprawdź wszystkie te rzeczy krok po kroku, a zrozumiesz to.