Wyszukiwanie w witrynie

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.