MySQL je nejpopulárnější open-source systém pro správu relačních databází. Je rychlý, snadno použitelný, škálovatelný a je nedílnou součástí oblíbeného LAMP
a LEMP
zásobníky.
V tomto tutoriálu vám ukážeme, jak nainstalovat a zabezpečit MySQL na počítači Ubuntu 18.04.
Předpoklady #
Ujistěte se, že jste přihlášeni jako uživatel s právy sudo.
Instalace MySQL na Ubuntu #
V době psaní tohoto článku byla nejnovější verze MySQL dostupná z oficiálních repozitářů Ubuntu MySQL verze 5.7.
Chcete-li nainstalovat MySQL na váš server Ubuntu, postupujte podle následujících kroků:
-
Nejprve aktualizujte index balíčku apt zadáním:
sudo apt update
-
Poté nainstalujte balíček MySQL pomocí následujícího příkazu:
sudo apt install mysql-server
-
Po dokončení instalace se služba MySQL automaticky spustí. Chcete-li zkontrolovat, zda server MySQL běží, zadejte:
sudo systemctl status mysql
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-06-20 11:30:23 PDT; 5min ago Main PID: 17382 (mysqld) Tasks: 27 (limit: 2321) CGroup: /system.slice/mysql.service `-17382 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Zabezpečení MySQL #
Balíček serveru MySQL je dodáván se skriptem s názvem mysql_secure_installation
které mohou provádět několik operací souvisejících se zabezpečením.
Spusťte skript zadáním:
sudo mysql_secure_installation
Budete požádáni o konfiguraci VALIDATE PASSWORD PLUGIN
který se používá k testování síly hesel uživatelů MySQL a zlepšení zabezpečení. Existují tři úrovně zásad ověřování hesel, nízká, střední a silná. Stiskněte ENTER
pokud nechcete nastavit plugin pro ověření hesla.
Na další výzvu budete požádáni o nastavení hesla pro uživatele root MySQL. Jakmile to uděláte, skript vás také požádá o odstranění anonymního uživatele, omezení přístupu uživatele root k místnímu počítači a odstranění testovací databáze. Na všechny otázky byste měli odpovědět „Y“ (ano).
Přihlaste se jako root #
Pro interakci se serverem MySQL z příkazového řádku můžete použít klientský nástroj MySQL, který se instaluje jako závislost balíčku serveru MySQL.
V systémech Ubuntu s MySQL 5.7 (a novějšími) je uživatel root autentizován pomocí auth_socket
plugin ve výchozím nastavení.
auth_socket
plugin ověřuje uživatele, kteří se připojují z localhost
prostřednictvím souboru Unix socket. To znamená, že se nemůžete ověřit jako root zadáním hesla.
Chcete-li se přihlásit k serveru MySQL jako uživatel root, zadejte:
sudo mysql
Zobrazí se vám shell MySQL, jak je ukázáno níže:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Pokud se chcete přihlásit ke svému serveru MySQL jako root z externího programu, jako je phpMyAdmin
máte dvě možnosti.
První je změnit metodu ověřování z auth_socket
na mysql_native_password
. Můžete to provést spuštěním následujícího příkazu:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
FLUSH PRIVILEGES;
Druhou, doporučenou možností je vytvoření nového administrátora s přístupem do všech databází:
GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'very_strong_password';