MySQL je nejpopulárnější open-source systém pro správu relačních databází.
Nejnovější verze databázového serveru MySQL, verze 8.0, je k dispozici pro instalaci z výchozích repozitářů CentOS 8.
MySQL 8.0 zavedlo mnoho nových funkcí a změn, které způsobily, že některé aplikace nebyly kompatibilní s touto verzí. Před výběrem verze MySQL k instalaci si prostudujte dokumentaci k aplikaci, kterou se chystáte nasadit na svůj server CentOS.
CentOS 8 také poskytuje MariaDB 10.3, což je „náhrada za MySQL 5.7“, s určitými omezeními. Pokud vaše aplikace není kompatibilní s MySQL 8.0, nainstalujte MariaDB 10.3.
V tomto tutoriálu vám ukážeme, jak nainstalovat a zabezpečit MySQL 8.0 na systémech CentOS 8.
Instalace MySQL 8.0 na CentOS 8 #
Nainstalujte server MySQL 8.0 pomocí správce balíčků CentOS jako uživatel root nebo uživatel s právy sudo:
sudo dnf install @mysql
@mysql
modul nainstaluje MySQL a všechny závislosti.
Po dokončení instalace spusťte službu MySQL a povolte její automatické spouštění při bootování spuštěním následujícího příkazu:
sudo systemctl enable --now mysqld
Chcete-li zkontrolovat, zda server MySQL běží, zadejte:
sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago
...
Zabezpečení MySQL #
Spusťte mysql_secure_installation
skript, který provádí několik operací souvisejících se zabezpečením a nastavuje kořenové heslo MySQL:
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).
Chcete-li komunikovat se serverem MySQL z příkazového řádku, použijte obslužný program klienta MySQL, který se instaluje jako závislost. Otestujte přístup root zadáním:
mysql -u root -p
Po výzvě zadejte heslo roota a zobrazí se vám shell MySQL, jak je znázorněno níže:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.17 Source distribution
A je to! Nainstalovali jste a zabezpečili MySQL 8.0 na svém serveru CentOS a jste připraveni jej používat.
Metoda ověření #
Server MySQL 8.0 zahrnutý v repozitářích CentOS 8 je nastaven tak, aby používal staré mysql_native_password
ověřovací plugin, protože některé klientské nástroje a knihovny v CentOS 8 nejsou kompatibilní s caching_sha2_password
metoda, která je nastavena jako výchozí v upstream verzi MySQL 8.0.
mysql_native_password
metoda by měla být v pořádku pro většinu nastavení. Pokud však chcete změnit výchozí ověřovací plugin na caching_sha2_password
který je rychlejší a poskytuje lepší zabezpečení, otevřete následující konfigurační soubor:
sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
Změňte hodnotu default_authentication_plugin
na caching_sha2_password
:
[mysqld]
default_authentication_plugin=caching_sha2_password
Zavřete a uložte soubor a restartujte server MySQL, aby se změny projevily:
sudo systemctl restart mysqld