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

MySQL – Błąd połączenia – [MySQL][ODBC 5.3(w) Driver] Host „IP” nie może połączyć się z tym serwerem MySQL

Jeden z moich klientów skontaktował się ze mną w sprawie problemu z serwerem połączonym między SQL Server a MySQL Server. Ponieważ pracuję głównie z SQL Server, instalowanie i łączenie MySQL Server było świetną zabawą. Podczas gdy próbowałem zasymulować problem i chciałem stworzyć połączony serwer. W tym blogu dowiemy się, jak naprawić błąd połączenia MySQL [MySQL][ODBC 5.3(w) Driver]Host „IP” nie może połączyć się z tym serwerem MySQL.

Zainstalowałem MySQL Server na serwerze i podałem hasło użytkownika root. Kiedy próbowałem połączyć się z MySQL Server za pomocą ODBC.

Zaraz po kliknięciu testu widzę poniżej błąd.

IP wymieniony w komunikacie o błędzie to IP klienta, który próbuje się połączyć. Wiadomość tekstowa jest następująca:

Połączenie nieudane
[MySQL][ODBC 5.3(w) Driver]Host „IP” nie może połączyć się z tym serwerem MySQL:

Nigdy nie widziałem tego błędu podczas pracy z SQL Server, więc nie miałem pojęcia o tym błędzie. Kiedy prowadziłem badania, dowiedziałem się poniżej.

Domyślnie MySQL nie zezwala klientom zdalnym na łączenie się z bazą danych MySQL.

Najszybszy sposób sprawdzenia tego jest taki, jak poniżej. Jeśli sprawdzimy tabelę mysql.user, pojawi się wpis dla użytkownika „root” z hostem „localhost”.

Więc musimy zapewnić uprawnienia do łączenia się z MySQL Server do klienta.

OBEJŚCIE/ROZWIĄZANIE

Najpierw upewnij się, że nie jest to problem z zaporą sieciową.

Jak omówiliśmy wcześniej, jest to problem z uprawnieniami. Następnie możemy udzielić pozwolenia za pomocą polecenia.

Use mysql;
GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';

W tym celu możesz również użyć MySQL Workbench. Poniższy zrzut ekranu przedstawia kroki, które należy wykonać. Tak samo jak polecenie, musimy podać nazwę użytkownika, hasło i adres IP na ekranie graficznym.

Mam nadzieję, że ten blog pomoże. Po powyższych zmianach, gdy próbujesz połączyć się z bazą danych mysql z tego zdalnego klienta (podaliśmy adres IP/nazwę hosta), nie powinieneś już otrzymywać komunikatu o błędzie „Host nie może połączyć się z tym serwerem MySQL”. Możemy również użyć %, aby zezwolić na wszystkie hosty, ale nie wolę tej opcji.

Nie jestem ekspertem MySQL, więc możesz skomentować i dać mi znać, czy są lepsze sposoby.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wprowadzenie do przełączania awaryjnego dla replikacji MySQL — blog 101

  2. proxysql-admin Alternatywy — ClusterControl ProxySQL GUI

  3. Przekaż tablicę do procedury przechowywanej w MySQL

  4. JSON_ARRAY_APPEND() – Dołącz wartości do tablicy JSON w MySQL

  5. Adminer — zaawansowane narzędzie do administrowania bazami danych oparte na sieci WWW dla systemu Linux