Tento tutoriál poskytuje všechny kroky potřebné k instalaci MySQL 8 na Ubuntu 18.04 LTS. Stejné kroky lze použít pro další verze Ubuntu.
Poznámky :Abyste mohli postupovat podle tohoto příspěvku, musíte úplně odstranit předchozí instalaci serveru MySQL nainstalovaného pomocí instalačního programu, pokud je již v systému nainstalován. Chcete-li úplně odstranit předchozí instalaci provedenou pomocí instalačního programu, můžete se řídit pokyny k úplnému odstranění MySQL z Ubuntu.
Také by vás mohly zajímat další výukové programy specifické pro MySQL včetně Jak nainstalovat MySQL 8 na
Krok 1 – Stáhněte si úložiště MySQL APT
Od MySQL 8 není součástí oficiálních repozitářů Ubuntu 18.04 , musíme stáhnout jeho balíček Debian . Aktuální oficiálně dostupná verze MySQL na Ubuntu 18.04 je 5.7.26 . Pomocí níže uvedeného příkazu si stáhněte nejnovější úložiště APT.
# Download MySQL APT Repository
wget –c https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
Stáhne se oficiální balíček Debianu k instalaci MySQL 8.
Krok 2 – Instalace úložiště MySQL
Pomocí níže uvedeného příkazu začněte instalovat úložiště MySQL pomocí úložiště, které jsme stáhli v předchozím kroku.
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
Zobrazí se výzva k výběru z dostupných možností, jak je znázorněno na obr. 1. Ponechte vybranou výchozí možnost a stisknutím klávesy Enter spusťte instalaci.
Obr. 1
Na další obrazovce se instalační program zeptá na výběr verze MySQL, která se má nainstalovat, jak je znázorněno na obr. 2. Ponechte mysql-8 a stiskněte klávesu Enter.
Obr. 2
Zobrazí se první obrazovka s vybranou verzí MySQL. Nyní stiskněte šipku dolů a další šipku pro přesun na možnosti OK, jak je znázorněno na obr. 3.
Obr. 3
Stisknutím klávesy Enter zahájíte instalaci. Po dokončení instalace se zobrazí níže uvedené zprávy.
bravo@pc1:/setups/database$ sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
Selecting previously unselected package mysql-apt-config.
(Reading database ... 200223 files and directories currently installed.)
Preparing to unpack mysql-apt-config_0.8.13-1_all.deb ...
Unpacking mysql-apt-config (0.8.13-1) ...
Setting up mysql-apt-config (0.8.13-1) ...
Warning: apt-key should not be used in scripts (called from postinst maintainerscript of the package mysql-apt-config)
Krok 3 – Obnovení systémových úložišť
Nyní obnovte systémová úložiště pomocí příkazu, jak je uvedeno níže.
sudo apt-get update
# It must show MySQL 8 repos
bravo@pc1:/setups/database$ sudo apt-get update
Hit:1 http://repo.mysql.com/apt/ubuntu bionic InRelease
Hit:2 http://in.archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://in.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://in.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:5 http://security.ubuntu.com/ubuntu bionic-security InRelease
Get:6 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 Sources [962 B]
Get:7 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 i386 Packages [7,472 B]
Get:8 http://repo.mysql.com/apt/ubuntu bionic/mysql-8.0 amd64 Packages [7,463 B]
Fetched 15.9 kB in 3s (5,556 B/s)
Reading package lists... Done
Obnoví mezipaměť systému, abyste získali aktualizace o nejnovějších verzích dostupných balíčků.
Krok 4 – Instalace serveru MySQL
Po aktualizaci systémové mezipaměti můžeme začít instalovat server a klienta MySQL pomocí příkazu, jak je uvedeno níže.
# Install MySQL Server 8
sudo apt-get install mysql-server mysql-client
Stiskněte Y pro potvrzení a pokračování v instalaci. Díky tomu se MySQL nainstaluje stejně jako my s výchozím balíčkem dostupným v úložištích Ubuntu. Instalace také požádá o výběr
Obr. 4
Obr. 5
Obr. 6
Krok 5 – Bezpečná instalace MySQL
Musíme také zajistit instalaci pomocí příkazu, jak je uvedeno níže.
sudo mysql_secure_installation
Požádá vás o nastavení hesla uživatele root a několika bezpečnostních otázek. Úplné kroky, které následuji, jsou uvedeny níže.
bravo@pc1:/setups/database$ sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
Using existing password for root.
Estimated strength of the password: 25
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
bravo@pc1:/setups/database$
Výše uvedené kroky odeberou testovací databázi a anonymní uživatele. Zakazuje také vzdálené přihlášení, aby bylo zajištěno, že server je přístupný místně buď pomocí 127.0.0.1 nebo localhost .
Pomocí níže uvedeného příkazu zkontrolujte, zda běží MySQL server.
bravo@pc1:/setups/database$ systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-08-15 10:40:47 IST; 4min 45s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 28669 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 28708 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 4915)
CGroup: /system.slice/mysql.service
└─28708 /usr/sbin/mysqld
Aug 15 10:40:45 bravo systemd[1]: Starting MySQL Community Server...
Aug 15 10:40:47 bravo systemd[1]: Started MySQL Community Server.
Krok 6 – Zkontrolujte verzi a přístup
Zkontrolujte verzi námi nainstalovaného serveru a také se ujistěte, že je server přístupný pomocí námi nakonfigurovaného hesla root.
# Check version
sudo mysql --version
mysql Ver 8.0.17 for Linux on x86_64 (MySQL Community Server - GPL)
# Login
sudo mysql -u root -p
Krok 7 – Důležité příkazy
Tato část ukazuje některé důležité příkazy pro spuštění, zastavení a restartování serveru.
# Check server status
sudo service mysql status
# Stop server
sudo service mysql stop
# Start server
sudo service mysql start
# Restart server
sudo service mysql restart
Krok 8 – Použití modulů hesla
V případě, že jste se rozhodli použít možnost zásuvného modulu s heslem pro zabezpečení zpětného slova s verzí 5.7, může být vyžadováno připojení k serveru MySQL pomocí účtu s
# Login to MySQL
# Check password plugin of root user
SELECT user,authentication_string,plugin,host FROM mysql.user;
# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
# Change password plugin of root user to native
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<pw>';
# Apply changes
flush privileges;
# Check password scheme of user
SELECT user,authentication_string,plugin,host FROM mysql.user;
# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *E5C4F73D963132CEF9BB4PA79LA818C08BAQC300 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
# Change to new and recommended password plugin
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '<pw>';
# Apply changes
flush privileges;
# Check password scheme of user
SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| root | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
Takto můžeme nainstalovat nejnovější verzi serveru MySQL, tj. MySQL 8 na Ubuntu 18.04 LTS.