Więcej
Host 'xxx.xx.xxx.xxx' nie może połączyć się z tym serwerem MySQL
Powinno to być bardzo proste, ale nie mogę tego zrobić dla mojego życia.
I'm po prostu próbuje połączyć się zdalnie z moim serwerem MySQL.
łącząc się jako
mysql -u root -h localhost -p
działa dobrze, ale próbując
mysql -u root -h 'any ip address here' -p
nie powiedzie się z błędem
ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server
W tabeli mysql.user
znajduje się dokładnie taki sam wpis dla użytkownika 'root' z hostem 'localhost' jak inny z hostem '%'.
I'm at my wits' end, and have no idea how to proceed. Wszelkie pomysły są mile widziane.
622
3
Prawdopodobnie jest to środek ostrożności. Możesz spróbować dodać nowe konto administratora:
Chociaż, jak zauważył Pascal i inni, nie jest to najlepszy pomysł, aby użytkownik z takim dostępem był otwarty dla każdego IP. Jeśli potrzebujesz użytkownika administracyjnego, użyj root'a i pozostaw go na localhost. Dla każdego innego działania określ dokładnie uprawnienia, których potrzebujesz i ogranicz dostęp użytkownika, jak Pascal zasugerował poniżej.
Edytować:
Z FAQ MySQL:
Wiadomość
*Host ''xxx.xx.xxx.xxx'' nie może połączyć się z tym serwerem MySQL
jest odpowiedzią serwera MySQL na klienta MySQL. Zauważ, że zwraca adres IP, a nie nazwę hosta.Jeśli próbujesz się połączyć za pomocą
mysql -h -u -p
i zwraca tę wiadomość z adresem IP, to serwer MySQL nie jest w stanie wykonać reverse lookup na kliencie. Jest to krytyczne, ponieważ w ten sposób mapuje klienta MySQL do dotacji.Upewnij się, że możesz wykonać
nslookup
z serwera MySQL. Jeśli to nie zadziała, to znaczy, że nie ma wpisu w serwerze DNS. Alternatywnie, możesz umieścić wpis w pliku HOSTS serwera MySQL' (` `Jeśli modyfikujesz tabele uprawnień ręcznie (używając INSERT, UPDATE, itp.), powinieneś wykonać polecenie polecenie
FLUSH PRIVILEGES
, aby powiedzieć serwerowi, aby ponownie załadował tabele uprawnień.PS: Nie polecam pozwalać każdemu hostowi łączyć się z każdym użytkownikiem (szczególnie nie z
root
). Jeśli używasz mysql do aplikacji klient/serwer, preferuj adres podsieci. Jeśli używasz mysql z serwerem WWW lub serwerem aplikacji, użyj konkretnych IP.