Mysql
 sql >> Baza danych >  >> RDS >> Mysql

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 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak odzyskać klaster MySQL Galera z asynchronicznego urządzenia podrzędnego?

  2. Jak utworzyć indeks w części daty pola DATETIME w MySql?

  3. Policz liczbę unikalnych wartości

  4. Jak filtrować wyniki SQL w relacji ma wiele przejść?

  5. Jak zmienić rozmiar max_allowed_packet