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.user
przez: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:[email protected]:3306 --skip-data-check db1:db2
Sprawdź wszystkie te rzeczy krok po kroku, a zrozumiesz to.