Jak zainstalować MySQL na Ubuntu 16.04
Wprowadzenie
MySQL to system zarządzania bazą danych typu open-source, powszechnie instalowany jako część popularnego stosu LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Wykorzystuje relacyjną bazę danych i SQL (Structured Query Language) do zarządzania danymi.
Skrócona wersja instalacji jest prosta: zaktualizuj swój indeks pakietów, zainstaluj pakiet mysql-server
, a następnie uruchom dołączony skrypt bezpieczeństwa.
- sudo apt-get update
- sudo apt-get install mysql-server
- mysql_secure_installation
Ten poradnik wyjaśni, jak zainstalować MySQL w wersji 5.7 na serwerze Ubuntu 16.04. Jednakże, jeśli chcesz zaktualizować istniejącą instalację MySQL do wersji 5.7, możesz przeczytać ten przewodnik aktualizacji MySQL 5.7.
Wymagania wstępne
Aby wykonać ten poradnik, będziesz potrzebował:
- Jeden serwer Ubuntu 16.04 skonfigurowany zgodnie z tym przewodnikiem, w tym użytkownik sudo non-root i firewall.
Krok 1 – Instalacja MySQL
Na Ubuntu 16.04, tylko najnowsza wersja MySQL jest domyślnie dołączona do repozytorium pakietów APT. W momencie pisania tego tekstu, jest to MySQL 5.7
Aby ją zainstalować, po prostu zaktualizuj indeks pakietów na swoim serwerze i zainstaluj domyślny pakiet z apt-get
.
- sudo apt-get update
- sudo apt-get install mysql-server
Podczas instalacji zostaniesz poproszony o utworzenie hasła roota. Wybierz bezpieczne hasło i upewnij się, że je pamiętasz, ponieważ będziesz go potrzebował później. Następnie dokończymy konfigurację MySQL.
Krok 2 – Konfiguracja MySQL
W przypadku świeżych instalacji, będziesz chciał uruchomić dołączony skrypt bezpieczeństwa. Zmienia on niektóre z mniej bezpiecznych opcji domyślnych dla takich rzeczy jak zdalne logowanie roota i przykładowych użytkowników. W starszych wersjach MySQL, trzeba było również ręcznie zainicjować katalog danych, ale teraz jest to wykonywane automatycznie.
Uruchom skrypt bezpieczeństwa.
- mysql_secure_installation
W tym momencie zostaniesz poproszony o podanie hasła roota, które utworzyłeś w kroku 1. Możesz nacisnąć Y
, a następnie ENTER
, aby zaakceptować wartości domyślne dla wszystkich kolejnych pytań, z wyjątkiem tego, które pyta, czy chcesz zmienić hasło roota. Właśnie ustawiłeś je w kroku 1, więc nie musisz go zmieniać teraz. Aby uzyskać bardziej szczegółowe informacje na temat tych opcji, możesz zobaczyć ten krok w tutorialu instalacji LAMP.
Aby zainicjować katalog danych MySQL, użyj mysql_install_db
dla wersji przed 5.7.6, i mysqld --initialize
dla 5.7.6 i późniejszych. Jeśli jednak zainstalowałeś MySQL z dystrybucji Debian, tak jak w kroku 1, katalog danych został zainicjowany automatycznie; nie musisz nic robić. Jeśli mimo to spróbujesz uruchomić to polecenie, zobaczysz następujący błąd:
2016-03-07T20:11:15.998193Z 0 --initialize specified but the data directory has files in it. Aborting.
Na koniec przetestujmy instalację MySQL.
Krok 3 – Testowanie MySQL
Niezależnie od sposobu instalacji, MySQL powinien uruchomić się automatycznie. Aby to sprawdzić, sprawdź jego status.
- systemctl status mysql.service
Zobaczysz dane wyjściowe podobne do poniższych:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Wed 2016-11-23 21:21:25 UTC; 30min ago Main PID: 3754 (mysqld) Tasks: 28 Memory: 142.3M CPU: 1.994s CGroup: /system.slice/mysql.service └─3754 /usr/sbin/mysqld
Jeśli MySQL nie jest uruchomiony, możesz go uruchomić za pomocą sudo systemctl start mysql
.
Aby dodatkowo sprawdzić, możesz spróbować połączyć się z bazą danych za pomocą narzędzia mysqladmin
, które jest klientem pozwalającym na uruchamianie poleceń administracyjnych. Na przykład, to polecenie mówi, aby połączyć się z MySQL jako root (-u root
), poprosić o hasło (-p
) i zwrócić wersję.
- mysqladmin -p -u root version
Powinieneś zobaczyć wynik podobny do tego:
mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Server version 5.7.16-0ubuntu0.16.04.1Protocol version 10Connection Localhost via UNIX socketUNIX socket /var/run/mysqld/mysqld.sockUptime: 30 min 54 secThreads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Queries per second avg: 0.006
To oznacza, że MySQL jest gotowy i działa.
Wniosek
Masz teraz podstawową konfigurację MySQL zainstalowaną na twoim serwerze. Oto kilka przykładów kolejnych kroków, które możesz podjąć:
- Wdrożenie dodatkowych środków bezpieczeństwa
- Zmień lokalizację katalogu z danymi
- Zarządzanie serwerem MySQL za pomocą SaltStack
- Poznaj więcej komend MySQL
.