MySQL to otwarty, potężny i szeroko stosowany system zarządzania relacyjnymi bazami danych (RDBMS) która organizuje dane w jednej lub wielu tabelach danych, w których typy danych mogą być powiązane z każdym z nich inny. Structured Query Language (SQL) współpracuje z RDBMS-ami, a gdy ktoś chce przechowywać lub zarządzać ogromną ilością danych, nabędzie usługę relacyjnej bazy danych i SQL.

W tym artykule pokazano, jak skonfigurować MySQL na serwerze Ubuntu 18.04. Pokazuje również, jak włączyć uwierzytelnianie, a następnie zarządzanie usługami. Na koniec dowiesz się również, jak przetestować usługę, aby zweryfikować poprawną konfigurację.

Krok 1: Instalacja klienta MySQL

Zainstaluj mysql-klient aby zdalnie połączyć się z serwerem:

sudo apt install mysql-client -y

Sprawdź wersję klienta, aby sprawdzić, czy instalacja się powiodła:

mysql -V

Wyjście:

mysql w wersji 8.0.28-0ubuntu0.20.04.3 dla systemu Linux na x86_64 ((Ubuntu))

Teraz możesz użyć następującego polecenia, aby nawiązać zdalne połączenie z serwerem MySQL:

mysql -u  -P -h HOSTNAME_OR_IP

Krok 2: Instalacja serwera MySQL

Przed zainstalowaniem MySQL upewnij się, że serwer Ubuntu jest poprawnie zainstalowany i skonfigurowany. Serwer Ubuntu 18.04 domyślnie zawiera w repozytoriach najnowszą wersję MySQL 5.7. Użyj apt polecenie, aby zaktualizować pakiety systemowe z repozytorium w następujący sposób:

aktualizacja sudo apt

Teraz użyj następującego polecenia, aby zainstalować pakiet serwera MySQL:

sudo apt install mysql-server -y

Krok 3: Konfiguracja MySQL

W erze uporczywych zagrożeń cyberbezpieczeństwa standardem jest zmiana domyślnych opcji po udanej instalacji serwera. Ta sekcja poprowadzi Cię przez konfigurację serwera MySQL, aby wyeliminować niebezpieczne opcje domyślne, takie jak zdalne logowanie root, domyślne konta użytkowników itp. MySQL ułatwia to zadanie, automatycznie wprowadzając wszystkie zmiany za pomocą prostego skryptu bezpieczeństwa.

sudo mysql_secure_installation

Skrypt wyświetla wiele opcji, żądając odpowiedzi Tak lub Nie, aby zmienić domyślne zabezpieczenia MySQL. Na przykład pierwszy monit pyta, czy chcesz skonfigurować wtyczkę do sprawdzania poprawności haseł, odpowiedz TAk i kontynuuj.

Następny monit prosi o ustawienie hasła konta użytkownika root MySQL. Możesz zauważyć, że włączenie wtyczki Validate Password umożliwia ustawienie siły hasła na trzech poziomach polityki bezpieczeństwa hasła i długości.

Wprowadź numer, który chcesz wybrać, aby ustawić siłę hasła. System poprosi wówczas o ustawienie nowego hasła i ponowne wpisanie go w celu potwierdzenia w następujący sposób:

Możesz zauważyć, że po ustawieniu hasła wyświetla siłę i pyta, czy chcesz kontynuować.

Teraz poprosi o kolejne pytania:

  1. Aby usunąć anonimowego użytkownika testowego
  2. Wyłącz zdalne logowanie z użytkownika root
  3. Usuń testowe bazy danych
  4. Przeładuj tabelę uprawnień, aby zapisać wszystkie zmiany

Rodzaj Y aby kontynuować z ustawieniami domyślnymi, aby ustawić reguły bezpieczeństwa.

Starsze wersje MySQL (przed 5.7.6) wymagają ręcznego zainicjowania katalogu bazy danych. W przypadku kolejnych wersji uruchom następujące polecenie:

mysqld – zainicjuj

Krok 4: Dostosowanie uwierzytelniania użytkownika MySQL

Niezależnie od ustanowienia hasła dla konta użytkownika MySQL, domyślne ustawienie uwierzytelniania uniemożliwia korzystanie z haseł podczas nawiązywania połączenia. Zamiast tego automatycznie uwierzytelnia użytkownika za pomocą auth_socket podłącz. Wtyczka jest świetną funkcją pod względem użyteczności, jednak nie jest praktyczna, jeśli chcesz uzyskać dostęp do bazy danych ze zdalnego klienta.

Ponieważ dostęp do bazy danych bez hasła komplikuje proces roboczy, gdy uzyskuje się do niego dostęp z zewnętrznego programu, w tej sekcji podsumowano dwa sposoby uwierzytelnienia użytkownika podczas nawiązywania połączenia:

1. Uwierzytelnianie użytkownika root za pomocą hasła

Aby zapewnić uwierzytelnianie użytkownika za pomocą hasła, możesz zmienić wtyczkę z „auth_socket" do "mysql_native_password." W tym celu otwórz ekran zachęty MySQL, używając sudo mysql polecenie i zweryfikuj wtyczkę używaną do uwierzytelniania użytkownika w następujący sposób:

SELECT użytkownik, ciąg_uwierzytelniania, wtyczka, host FROM mysql.user;

Powyższy zrzut ekranu pokazuje, że klient root uwierzytelnia się za pomocą wtyczki „auth_socket”. Aby zainicjować uwierzytelnianie klienta root za pomocą hasła, użyj instrukcji ALTER USER, aby ustawić wtyczkę „mysql_native_password”.

ZMIEŃ UŻYTKOWNIKA 'root'@'localhost' ZIDENTYFIKOWANY ZA POMOCĄ mysql_native_password PRZEZ 'hasło';

Zapisz powyższe zmiany w następujący sposób:

PRZYWILEJE WSPÓŁPRACUJĄCE;

Instrukcja MySQL "FLUSH PRIVILEGES" zapisuje zmiany w tabelach bazy danych wprowadzone przez klauzule ALTER, INSERT, UPDATE i DELETE.

Teraz, aby zweryfikować strategie uwierzytelniania używane przez każdego użytkownika i upewnić się, że wtyczka „auth_socket” nie jest używana przez klienta root, uruchom ponownie polecenie:

SELECT użytkownik, ciąg_uwierzytelniania, wtyczka, host FROM mysql.user;

Teraz użytkownik root może połączyć się z serwerem, uwierzytelniając się za pomocą następującego polecenia:

sudo mysql -u root -p

2. Utwórz dedykowanego użytkownika

Innym sposobem włączenia uwierzytelniania bez użycia mysql_native_password jest utworzenie dedykowanego użytkownika w następujący sposób:

sudo mysql

Utwórz nowe konto i przyznaj wszystkie uprawnienia, aby przypisać kontrolę na poziomie administracyjnym nowemu użytkownikowi. Następnie zamknij monit MySQL. Uruchom następujące zapytania SQL jeden po drugim, aby to osiągnąć:

UTWÓRZ UŻYTKOWNIKA 'ubuntu'@'localhost' IDENTYFIKOWANEGO PRZEZ 'hasło';
PRZYZNAJ WSZYSTKIE PRZYWILEJE NA *.* 'ubuntu'@'localhost' Z OPCJĄ PRZYZNANIA;
Wyjście

Zarządzaj i testuj usługę MySQL za pomocą systemctl

Ustaw usługę tak, aby działała przy starcie serwera Ubuntu, używając włącz systemctl polecenie w następujący sposób:

sudo systemctl włącz mysql

Poza tym możesz przetestować serwer pod kątem działania, wpisując:

sudo systemctl status mysql

Lub

sudo systemctl status mysql.service

Usługa uruchamia się automatycznie po instalacji MySQL, jeśli jednak tak się nie stanie, możesz ją zainicjować za pomocą następującego polecenia:

sudo systemctl start mysql

Pierwsze kroki z MySQL Server na Ubuntu

MySQL to otwarty, przyjazny dla użytkownika, skalowalny i niezawodny system zarządzania bazą danych. Poza tym jest integralną częścią modelu stosu LAMP/LEMP lub technologii aplikacji internetowych. Ten system zarządzania relacyjnymi bazami danych (RDBMS) oferuje prostą instalację i łatwą konfigurację w swoich najnowszych wersjach.

Ten artykuł poprowadzi Cię w tworzeniu podstawowej konfiguracji MySQL, która pomoże Ci zacznij od nauki działania MySQL. Obejmuje również kilka początkowych ważnych środków bezpieczeństwa w swojej konfiguracji, aby uniknąć luk w domyślnej konfiguracji. Możesz dowiedzieć się więcej o zabezpieczaniu MySQL, postępując zgodnie z kilkoma zaawansowanymi wskazówkami dotyczącymi bezpieczeństwa.

9 zaawansowanych wskazówek dotyczących bezpieczeństwa MySQL

Czytaj dalej

DzielićĆwierkaćDzielićE-mail

Powiązane tematy

  • Linux
  • Baza danych
  • SQL
  • Aplikacje na Linuksa
  • Zainstaluj oprogramowanie
  • Ubuntu

O autorze

Rumaisa Niazi (21 opublikowanych artykułów)

Rumaisa jest niezależnym pisarzem w MUO. Nosiła wiele kapeluszy, od matematyka po entuzjastę bezpieczeństwa informacji, a teraz pracuje jako analityk SOC. Jej zainteresowania obejmują czytanie i pisanie o nowych technologiach, dystrybucjach Linuksa i wszystkim, co dotyczy bezpieczeństwa informacji.

Więcej od Rumaisy Niazi

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować