Този урок предоставя всички стъпки, необходими за инсталиране на MySQL 8 на Ubuntu 18.04 LTS. Същите стъпки могат да се следват и за други версии на Ubuntu.
Бележки :За да следвате тази публикация, трябва напълно да премахнете предишната инсталация на MySQL сървър, инсталиран с помощта на инсталатора, ако той вече е инсталиран в системата. Можете да следвате Как да премахнете напълно MySQL от Ubuntu, за да премахнете напълно предишната инсталация, извършена с помощта на инсталатора.
Може да се интересувате и от други специфични за MySQL уроци, включително как да инсталирате MySQL 8 на
Стъпка 1 - Изтеглете MySQL APT хранилище
От MySQL 8 не е включен в официалните хранилища на Ubuntu 18.04 , трябва да изтеглим неговия пакет на Debian . Текущата официално налична версия на MySQL на Ubuntu 18.04 е 5.7.26 . Използвайте посочената по-долу команда, за да изтеглите най-новото хранилище на APT.
# Download MySQL APT Repository
wget –c https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
Той ще изтегли официалния пакет на Debian, за да инсталира MySQL 8.
Стъпка 2 - Инсталирайте MySQL хранилище
Използвайте посочената по-долу команда, за да започнете да инсталирате хранилището на MySQL, като използвате хранилището, изтеглено от нас в предишната стъпка.
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
Той ще поиска да изберете от наличните опции, както е показано на Фиг. 1. Запазете избраната опция по подразбиране и натиснете клавиша Enter, за да започнете инсталацията.
Фигура 1
На следващия екран инсталаторът ще поиска да избере версията на MySQL, която да бъде инсталирана, както е показано на Фиг. 2. Запазете mysql-8 избрани и натиснете клавиша Enter.
Фигура 2
Той ще покаже първия екран с избраната версия на MySQL. Сега натиснете клавиша със стрелка надолу и следващия клавиш със стрелка, за да преминете към опциите OK, както е показано на Фигура 3.
Фигура 3
Натиснете клавиша Enter, за да започнете инсталацията. Той ще покаже посочените по-долу съобщения след завършване на инсталацията.
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)
Стъпка 3 – Опресняване на системните хранилища
Сега опреснете системните хранилища, като използвате командата, както е посочено по-долу.
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
Той ще опресни системния кеш, за да получи актуализации за най-новите версии на наличните пакети.
Стъпка 4 - Инсталирайте MySQL Server
След актуализиране на системния кеш, можем да започнем да инсталираме MySQL сървъра и клиента с помощта на командата, както е посочено по-долу.
# Install MySQL Server 8
sudo apt-get install mysql-server mysql-client
Натиснете Y, за да потвърдите и да продължите с инсталацията. С това MySQL се инсталира, както правим с пакета по подразбиране, наличен в хранилищата на Ubuntu. Инсталацията също ще поиска да изберете
Фигура 4
Фигура 5
Фигура 6
Стъпка 5 – Сигурна инсталация на MySQL
Трябва също така да защитим инсталацията с помощта на командата, както е посочено по-долу.
sudo mysql_secure_installation
Той ще поиска да зададете root парола и няколко въпроса за сигурност. Пълните стъпки, следвани от мен, са както е показано по-долу.
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$
Горните стъпки премахват тестовата база данни и анонимните потребители. Той също така забранява дистанционното влизане, за да се гарантира, че сървърът е достъпен локално чрез 127.0.0.1 или localhost .
Използвайте посочената по-долу команда, за да проверите дали MySQL сървърът работи.
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.
Стъпка 6 – Проверете версията и достъпа
Проверете версията на инсталирания от нас сървър и също така се уверете, че сървърът е достъпен с помощта на конфигурираната от нас 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
Стъпка 7 – Важни команди
Този раздел показва някои от важните команди за стартиране, спиране и рестартиране на сървъра.
# 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
Стъпка 8 – Използване на плъгини за парола
В случай, че сте избрали да използвате опция за плъгин за парола за съвместимост с backword с версия 5.7, може да се наложи да се свържете с MySQL сървъра, като използвате акаунта с
# 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 |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
Ето как можем да инсталираме най-новата версия на MySQL сървъра, т.е. MySQL 8 на Ubuntu 18.04 LTS.