W tym artykule pokażę, jak ujawnić serwer bazy danych MySQL i Mariadb. Będę używać Ubuntu 18.04 LTS, aby zademonstrować procesy. Ale powinien działać również w innych rozkładach Linux. Pliki konfiguracyjne mogą znajdować się w innej lokalizacji. To jedyna różnica. Więc zacznijmy.
Czy potrzebuję publicznego adresu IP?
Jeśli chcesz ujawnić MySQL lub Mariadb na Internet, będziesz potrzebować publicznego adresu IP. W przeciwnym razie Twój serwer nie będzie dostępny z Internetu.
Jeśli chcesz uzyskać dostęp do MySQL lub MARIADB tylko z sieci lokalnej (LAN), procedury pokazane tutaj powinny działać. W takim przypadku nie potrzebujesz publicznego adresu IP.
Instalowanie Mariadb/MySQl Ubuntu:
Mariadb/mysql jest dostępny w oficjalnym repozytorium pakietów Ubuntu. Jest więc łatwy do zainstalowania.
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:
Aktualizacja $ sudo apt
Teraz możesz zainstalować bazę danych MySQL lub Mariadb na Ubuntu. Oba są technicznie takie same. Jedyną różnicą jest; MySQL jest opracowywany przez Oracle, a Mariadb jest opracowany przez społeczność. Licencja Mariadb jest bardziej otwarta niż MySQL. Mariadb to rozwidlenie mysql.
Możesz zainstalować MySQL na Ubuntu za pomocą następującego polecenia:
$ sudo apt Zainstaluj mysql-server mysql-clientJeśli chcesz użyć mariadb zamiast MySQL, możesz zainstalować go na Ubuntu za pomocą następującego polecenia:
$ sudo apt Zainstaluj mariadb-server mariadb-clientPo uruchomieniu wymaganego polecenia, aby zainstalować żądany pakiet bazy danych, naciśnij y a następnie naciśnij . Pójdę z Mariadb.
Mysql/mariadb powinien zostać zainstalowany.
Zmiany adresu wiązania MySQL/Mariadb:
Teraz musisz zmienić adres wiązania mysql/mariadb.
Jeśli wybrałeś MySQL, plik konfiguracyjny do edycji jest /etc/mysql/mysql.conf.D/Mysqld.CNF
Jeśli wybrałeś mariabd, plik konfiguracyjny do edycji jest /etc/mysql/mariadb.conf.D/50-serwer.CNF
Teraz edytuj wymagany plik konfiguracyjny (w moim przypadku plik konfiguracyjny MARIADB /etc/mysql/mariadb.conf.D/50-serwer.CNF
) Z następującym poleceniem:
Teraz przewiń trochę w dół i znajdź linię oznaczoną na zrzucie ekranu poniżej.
Gdy znajdziesz linię, skomentuj linię (umieszczając # Na początku linii).
Teraz zapisz plik konfiguracyjny, naciskając + X śledzony przez y a następnie naciśnij .
Teraz musisz ponownie uruchomić usługę MySQL/Mariadb.
Jeśli zainstalowałeś MySQL, uruchom następujące polecenie:
$ sudo systemctl restart mysqlJeśli zainstalowałeś Mariadb, uruchom następujące polecenie:
$ sudo systemctl restart mariadbTworzenie nowych użytkowników:
Teraz, aby zdalnie uzyskać dostęp do MySQL/Mariadb, musisz utworzyć co najmniej jeden użytkownik bazy danych MySQL/Mariadb z uprawnieniami zdalnego dostępu.
Aby to zrobić, zaloguj się do konsoli bazy danych MySQL/MariaDB źródło Z następującym poleceniem:
$ sudo mysql -u rootNOTATKA: Domyślnie serwer MySQL/Mariadb nie ma źródło Zestaw haseł. Jeśli używasz istniejącego serwera MySQL/Mariadb, może to mieć źródło Zestaw haseł. W takim przypadku możesz zalogować się do konsoli MySQL/Mariadb w następujący sposób:
$ sudo mysql -u root -pPowinieneś zostać zalogowany do konsoli MySQL/MARIADB.
Teraz utwórz użytkownika bazy danych z następującym poleceniem SQL:
Utwórz użytkownika „your_username”@'host_ip_addr' identyfikowany przez „your_password”;NOTATKA: Zastępować Twoja nazwa użytkownika I Twoje hasło w zależności od tego, co chcesz, aby nazwa użytkownika i hasło. Tutaj, host_ip_addr to nazwa hosta lub adres IP komputera, z którego chcesz połączyć się z serwerem MySQL/MARIADB. Możesz także użyć % Jak host_ip_addr Jeśli chcesz podłączyć z dowolnego komputera. Może to być również coś w rodzaju 192.168.2.% Jeśli chcesz połączyć się z komputerów z zakresu IP 192.168.2.1 - 192.168.2.254.
Teraz przyznaj uprawnienia do niezbędnych baz danych dla właśnie utworzonego użytkownika. Po prostu pozwolę użytkownikowi korzystać z wszystkich baz danych.
Przyznać wszystkie przywileje na *.* Do „shovon”@'%';NOTATKA: *.* oznacza wszystkie bazy danych. Możesz także użyć db_name.* Aby umożliwić tylko użytkownikowi korzystanie z bazy danych db_name.
Teraz zastosuj zmiany do następującego polecenia SQL:
Przywileje spłukiwane;Teraz wyjdź z konsoli Mariadb/MySQL z następującym poleceniem:
zrezygnowaćPołączenie z serwerem MySQL/Mariadb zdalnie:
Aby zdalnie uzyskać dostęp do serwera MySQL/Mariadb, musisz znać adres IP lub nazwę hosta serwera MySQL/Mariadb.
Aby znaleźć adres IP serwera MySQL/Mariadb, uruchom następujące polecenie na serwerze:
$ ip aJak widać, adres IP jest w moim przypadku 192.168.21.128. Będzie dla Ciebie inaczej. Więc upewnij się, że zastąpisz go swoim od teraz.
Możesz uzyskać dostęp do serwera MySQL/MariaDB z dowolnych programów klientów MySQL/MariaDB, w tym programu klienta klienta opartego na terminalu. Istnieje wiele graficznych IDES MYSQL/MARIADB, takich jak DataGrip, MySQL Workbench itp. W tej sekcji zamierzam połączyć się z serwerem MySQL/Mariadb z programu klienta MySQL opartego na terminalu. Program klienta MySQL/Mariadb nie jest domyślnie zainstalowany. Ale możesz je bardzo łatwo zainstalować.
Aby zainstalować narzędzia klienta MySQL, uruchom następujące polecenie:
$ sudo apt Zainstaluj mysql -client -y
Aby zainstalować narzędzia klienckie MarIADB, uruchom następujące polecenie:
$ sudo apt instal mariadb -client -y
Uwaga: możesz zainstalować mysql-client lub mariadb-client i będziesz mógł połączyć się z serwerem MySQL/Mariadb od dowolnego z tych klientów.
Teraz z komputera klienta połącz się z serwerem MySQL/Mariadb zdalnie za pomocą następującego polecenia:
$ mysql -u your_username -h host_ip_addr -pNotatka: Repalce Twoja nazwa użytkownika z twoją nazwą użytkownika MySQL/Mariadb i host_ip_addr z nazwą hosta lub adresu IP twojego serwera MySQL/MARIADB.
Teraz wpisz hasło dla użytkownika MySQL/MARIADB i naciśnij .
Powinieneś być podłączony do serwera MySQL/Mariadb zdalnie, jak widać na zrzucie ekranu poniżej. Jestem podłączony do mojego serwera Mariadb.
Mogę również uruchomić zapytania bazy danych mysql/mariadb.
W ten sposób wystawiasz serwery bazy danych MySQL i MariaDB. Dziękujemy za przeczytanie tego artykułu.