Jak naprawić BŁĄD 1130 (HY000): Host nie może połączyć się z tym serwerem MySQL
W tym krótkim artykule dowiesz się, jak rozwiązać błąd „BŁĄD 1130 (HY000): Host x.x.x.x nie może połączyć się z tym serwerem MySQL” podczas wdrażania bazy danych MySQL/MariaDB w systemie Linux. Jest to jeden z typowych błędów związanych ze zdalnym połączeniem z bazą danych, na który napotykają użytkownicy.
Ś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 między jednym z naszych serwerów aplikacji a serwerem bazy danych przy użyciu klienta mysql, 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 dokonać pewnych zmian w serwerze bazy danych, aby umożliwić użytkownikowi zdalne połączenie.
Na serwerze bazy danych musimy sprawdzić host, z którego powyższy użytkownik może się połączyć.
mysql -u root -p
Uruchom następujące polecenia SQL, aby sprawdzić host użytkownika:
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Z wyniku polecenia wynika, że użytkownik może łączyć się z serwerem bazy danych wyłącznie z localhost. Musimy więc zaktualizować hosty użytkownika w następujący sposób.
Uruchom następujące polecenie GRANT, aby umożliwić użytkownikowi zdalnemu dostęp do MySQL ze zdalnego hosta. Pamiętaj, aby zastąpić „10.24.96.6” adresem IP zdalnego systemu, a „database_password” hasłem, 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 zapewnić 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 jeszcze raz połączyć się zdalnie z serwerem bazy danych MySQL. Połączenie powinno zakończyć się pomyślnie, 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 rozwiązać błąd zdalnego połączenia Mysql. Jeśli masz jakieś pytania, skontaktuj się z nami za pośrednictwem poniższego formularza opinii.