Zezwalaj na zdalny dostęp do serwera bazy danych MariaDB w systemie Ubuntu 18.04

  • Cornelius Paul
  • 0
  • 4561
  • 231

Ten krótki samouczek pokazuje studentom i nowym użytkownikom, jak skonfigurować połączenie dostępu zdalnego do serwerów baz danych MariaDB w systemach Ubuntu 18.04.

Domyślnie po zainstalowaniu serwera bazy danych MariaDB akceptuje on tylko połączenia ze swoim lokalnym hostem… Ten sam komputer hosta, na którym jest zainstalowany…

Jeśli chcesz połączyć się ze zdalnego komputera klienckiego ze zdalnej lokalizacji, nie będziesz w stanie połączyć się z konfiguracją baz danych na serwerze… Ten krótki przewodnik pokazuje, jak to włączyć…

Po prawidłowym skonfigurowaniu będziesz mógł łączyć się z serwerami baz danych ze zdalnych systemów i aplikacji, które nie są podłączone do tej samej podsieci lub komputera hosta…

Jeśli serwer jest połączony katalogiem z Internetem, możesz mieć do niego dostęp z dowolnego miejsca na świecie, w którym dostępny jest dostęp do Internetu… jednak otwieranie serwerów bazy danych bezpośrednio do Internetu nie jest zalecane, szczególnie w środowisku produkcyjnym…

Gdy będziesz gotowy do skonfigurowania zdalnego dostępu do bazy danych, kontynuuj poniżej.

Krok 1: Zainstaluj serwer bazy danych MariaDB

Jeśli nie masz zainstalowanego serwera MariaDB i szukasz prawdziwie otwartego serwera bazy danych, MariaDB to świetne miejsce do rozpoczęcia… Aby zainstalować MariaDB, po prostu uruchom poniższe polecenia:

sudo apt update sudo apt install mariadb-server mariadb-client

Po zainstalowaniu MariaDB poniższe polecenia mogą służyć do zatrzymywania, uruchamiania i włączania usługi MariaDB, aby zawsze była uruchamiana po uruchomieniu serwera…

Uruchom je na Ubuntu 18.04 LTS

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl włącz mariadb.service 

Następnie uruchom poniższe polecenia, aby zabezpieczyć serwer bazy danych hasłem root, jeśli nie został wyświetlony monit o zrobienie tego podczas instalacji…

sudo mysql_secure_installation

Po wyświetleniu monitu odpowiedz na poniższe pytania, postępując zgodnie z instrukcjami.

  • Wprowadź aktualne hasło roota (wpisz żadnego): Po prostu naciśnij Enter
  • Ustawić hasło roota? [T / n]: Y
  • Nowe hasło: wprowadź hasło
  • Ponownie wprowadź nowe hasło: powtórz hasło
  • Usunąć anonimowych użytkowników? [T / n]: Y
  • Nie zezwalać na zdalne logowanie przez roota? [T / n]: Y
  • Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n]: Y
  • Załadować teraz ponownie tabele uprawnień? [T / n]: Y

Teraz, gdy MariaDB jest już zainstalowana, aby sprawdzić, czy serwer bazy danych został pomyślnie zainstalowany, uruchom poniższe polecenia…

sudo mysql -u root -p

wpisz hasło roota po wyświetleniu monitu…

Jeśli zobaczysz podobny ekran, jak pokazano powyżej, serwer został pomyślnie zainstalowany…

Krok 2: Skonfiguruj dostęp zdalny MariaDB

Jak wspomnieliśmy powyżej, wszelki dostęp zdalny do serwera jest domyślnie zabroniony… Aby włączyć dostęp zdalny, musisz ustawić adres powiązania, aby umożliwić dostęp zdalny…

Na przykład, aby zezwolić wszystkim IPv4 adresy, ustaw bind-address na: 0.0.0.0 Dzięki temu serwer MariaDB będzie akceptował połączenia na wszystkich interfejsach IPv4 hosta… Jeśli tak IPv6 skonfigurowany w systemie, użyj:

W systemach Ubuntu z zainstalowanym serwerem bazy danych MariaDB jego domyślny plik konfiguracyjny znajduje się pod adresem: /etc/mysql/mariadb.conf.d/50-server.cnf

Po prostu uruchom poniższe polecenia, aby otworzyć plik konfiguracyjny MariaDB…

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

W zależności od systemów ten sam plik konfiguracyjny może znajdować się w poniższej lokalizacji:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Po otwarciu pliku wyszukaj wiersz zaczynający się od bind-address jak pokazano poniżej… Powinna to być wartość domyślna 127.0.0.1

# to jest odczytywane przez samodzielny demon i wbudowane serwery 

[serwer]

# dotyczy to tylko samodzielnego demona mysqld [mysqld] # # * Ustawienia podstawowe # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = / usr datadir = / var / lib / mysql tmpdir = / tmp lc-messages-dir = / usr / share / mysql skip-external-lock # Zamiast pomijania sieci domyślnie nasłuchuje się tylko na # localhost, który jest bardziej kompatybilny i nie mniej bezpieczny. bind-address = 127.0.0.1 # # * Dostrajanie precyzyjne

Kiedy musisz to zrobić, zmień domyślną wartość 127.0.0.1 na 0.0.0.0 jak pokazano niżej:

# to jest odczytywane przez samodzielny demon i wbudowane serwery 

[serwer]

# dotyczy to tylko samodzielnego demona mysqld [mysqld] # # * Ustawienia podstawowe # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = / usr datadir = / var / lib / mysql tmpdir = / tmp lc-messages-dir = / usr / share / mysql skip-external-lock # Zamiast pomijania sieci domyślnie nasłuchuje się tylko na # localhost, który jest bardziej kompatybilny i nie mniej bezpieczny. adres-wiązania = 0.0.0.0 # # * Dostrajanie dokładne

W tym samym pliku będziesz chciał zakomentować wiersz zaczynający się od pomiń sieci wstawiając # przed nim… lub usuń wszystko razem… a następnie zapisz zmiany…

Pamiętaj, aby dodać powyższe zmiany pod [mysqld] Sekcja.

Po dokonaniu powyższej zmiany zapisz plik i uruchom poniższe polecenia, aby zrestartować serwer.

sudo systemctl zrestartuj mariadb.service

Aby sprawdzić, czy nastąpiła zmiana, uruchom poniższe polecenia

sudo apt install net-tools sudo netstat -anp | grep 3306

i powinieneś znaleźć wynik, który wygląda jak ten poniżej

tcp 0 0 0.0.0.0:3306 0.0.0.0:* SŁUCHAJ 3213 / mysqld

Teraz serwer jest skonfigurowany do nasłuchiwania wszystkich adresów IP, ale indywidualne adresy IP muszą być jawnie skonfigurowane, aby łączyć się z bazą danych.

Aby umożliwić klientowi połączenie się z bazą danych, należy udzielić dostępu do serwera zdalnego.

Krok 3: Dostęp od klientów zdalnych

Po skonfigurowaniu serwera… wykonaj poniższe czynności, aby umożliwić zdalnym klientom dostęp do bazy danych…

Na przykład, jeśli chcesz mieć komputer kliencki z adresem IP 192.168.1.2 aby połączyć się z bazą danych o nazwie nazwa_bazy_danych jako użytkownik database_user, następnie uruchom poniższe polecenia po zalogowaniu się na serwerze bazy danych.

GRANT ALL ON nazwa_bazy_danych.* DO 'database_user@ 192.168.1.2 „IDENTIFIED BY”database_user_password';

  • nazwa_bazy_danych to nazwa bazy danych, z którą połączy się użytkownik.
  • database_user to nazwa użytkownika bazy danych…
  • 192.168.1.2 to adres IP, z którego klient łączy się z…
  • database_user_password jest hasłem konta database_user

Po uruchomieniu powyższych poleceń powinieneś mieć dostęp do serwera z komputera klienckiego z przypisanym adresem IP.

Aby połączyć się z serwerem z zatwierdzonego adresu IP, uruchom poniższe polecenia

mysql -u database_user -p database_user_password -godz Serwer bazy danych

Otóż ​​to! Pomyślnie skonfigurowałeś zdalny dostęp do serwera bazy danych MariaDB…

Zapora Ubuntu

Jeśli Twój serwer Ubuntu ma włączoną zaporę ogniową, będziesz chciał otworzyć połączenie z serwerem bazy danych… Po prostu uruchom poniższe polecenia, aby otworzyć zaporę ogniową dla klienta od adresu IP tylko do portu…

Na przykład, aby otworzyć Zaporę Ubuntu, aby adres IP 192.168.1.2 mógł łączyć się z portem 3306.

sudo ufw zezwala z 192.168.1.2 na dowolny port 3306

Aby zezwolić na wszystkie adresy IP (niezabezpieczone), uruchom poniższe polecenia:

sudo ufw zezwalaj na 3306 / tcp

Otóż ​​to!

Gratulacje! Pomyślnie zainstalowałeś i skonfigurowałeś MariaDB, aby umożliwić zdalny dostęp…




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux