Przejdź do głównej zawartości

Zdalne połączenie do bazy danych MySQL

Często zachodzi potrzeba aby połączyć się z bazą MySQL ze zdalnego hosta, serwera innego, niż sam serwer VPS Hostingu Dedykowanego. Aby tego dokonać, musimy wpierw zezwolić na takie zdalne połączenie MySQL z innego hosta do naszego serwera Hostingu Dedykowanego oraz otworzyć port usługi MySQL w zaporze (firewall).

W tym celu logujemy się do panelu DirectAdmin i na (1) poziomie Użytkownika przechodzimy do pozycji (2) "Zarządzanie MySQL".

mysql directadmin Zarządzanie MySQL z poziomu DirectAdmin.

Na spisie baz danych klikamy na (1) nazwę bazy danych, której ustawienia chcemy zobaczyć.

ustawienia bazy Ustawienia bazy danych.

Dodanie IP hosta.

W pozycji "Dostęp z Hostów", dodajemy nowy host - czyli jego (1) adres IP. Z tego adresu IP będą zezwalane połączenia do MySQL. Dalej klikamy "Dodaj nową" (pozycję) (2) aby dodać ten host do listy.

ip mysql host Zdalne podłączenie - dodawanie IP hosta.

uwaga

Jeżeli chcemy dodać możliwość łączenia się z dowolnego hostu wpisujemy znak procenta % aczkolwiek z przyczyn bezpieczeństwa - nie jest to zalecane.

mysql host allow Ustawienia bazy danych. Lista dozwolonych hostów.

Następnie pojawi się (1) komunikat z wynikiem operacji, a my widzimy, że adres IP naszego hosta został dodany do listy zezwoleń "Dostęp z hosta".

Możemy dodawać więcej adresów IP hostów i zarządzać (2) listą zezwoleń usuwając niepotrzebne pozycje.

Otwarcie portu MySQL w zaporze.

To nie wszystko. Upewnij się że posiadasz otwarty porty usługi MySQL (domyślnie jest to port: 3306) w konfiguracji zapory firewall na serwerze Hostingu Dedykowanego.

Przeczytaj nasz poradnik CSF - otwieranie portów i dodaj port 3306 w polu TCP_IN.

Testowanie połączenia MySQL.

Teraz możesz przetestować poprawność połączenia na hoście, z którego będziesz łączył się zdalnie do serwera MySQL. Użyj do tego konsoli SSH lub terminalu w systemie, gdzie jest zainstalowany pakiet MySQL.

mysql -u <użytkownik-bazy> -p -h <adres-IP-serwera>

Przykład: Poprawne połączenie:

root@host:~# mysql -u admin_ba7at3st -p -h 1.2.3.4
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 933
Server version: 10.4.25-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> quit
Bye

Przykład: brak dodania IP hosta do listy zezwoleń na połączenie:

root@host:~# mysql -u admin_ba7at3st -p -h 1.2.3.4
Enter password:
ERROR 1130 (HY000): Host '6.7.8.9' is not allowed to connect to this MariaDB server

Jak to naprawić? Dodaj IP hosta.

Przykład: brak otwartego portu MySQL:

root@host:~# mysql -u admin_ba7at3st -p -h 1.2.3.4
Enter password:
ERROR 2002 (HY000): Can't connect to MySQL server on '1.2.3.4' (115)

Jak to naprawić? Otwórz port w zaporze.