W tym krótkim artykule dowiesz się, jak rozwiązać „BŁĄD 1130 (HY000):Host x.x.x.x nie może połączyć się z tym serwerem MySQL ” błąd we wdrożeniu bazy danych MySQL/MariaDB w systemie Linux. Jest to jeden z typowych błędów połączenia ze zdalną bazą danych napotykanych przez użytkowników.
Środowisko testowe:
- IP serwera aplikacji :10.24.96.5
- IP serwera bazy danych :10.24.96,6
Napotkaliśmy błąd podczas testowania połączenia bazy danych z jednego z naszych serwerów aplikacji z serwerem bazy danych przy użyciu mysql klienta, jak pokazano.
# mysql -u database_username -p -h 10.24.96.6
Błąd wskazuje, że host 10.24.96.5 z którego łączy się użytkownik bazy danych, nie może połączyć się z serwerem MySQL. W takim przypadku musimy wprowadzić pewne zmiany na serwerze bazy danych, aby umożliwić użytkownikowi połączenie zdalne.
Na serwerze bazy danych musimy sprawdzić host, z którego użytkownik może się połączyć.
# mysql -u root -p
Uruchom następujące polecenia SQL, aby sprawdzić hosta użytkownika:
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Z danych wyjściowych polecenia użytkownik może połączyć się z serwerem bazy danych tylko z localhost . Dlatego musimy zaktualizować hosty użytkownika w następujący sposób.
Uruchom następujące GRANTY polecenie, aby umożliwić dostęp do MySQL dla zdalnego użytkownika ze zdalnego hosta. Pamiętaj, aby zastąpić „10.24.96.6 ” z adresem IP zdalnego systemu i „database_password ” na hasło, które chcesz „database_username ” do użycia:
MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Aby dać użytkownikowi zdalny dostęp ze wszystkich hostów w sieci, użyj poniższej składni:
MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';
Po dokonaniu powyższych zmian spróbuj ponownie połączyć się zdalnie z serwerem bazy danych MySQL. Połączenie powinno się udać, jak pokazano na poniższym zrzucie ekranu.
# mysql -u database_username -p -h 10.24.96.6
Mamy nadzieję, że to rozwiązanie pomogło ci w rozwiązaniu problemu ze zdalnym połączeniem Mysql. Jeśli masz jakieś pytania, skontaktuj się z nami za pomocą poniższego formularza opinii.