Як встановити MySQL 8.0 на Ubuntu 24.04|22.04|20.04
У сьогоднішньому посібнику описано встановлення MySQL 8.0 на Ubuntu 24.04|22.04|20.04. MySQL є однією з найбільш часто використовуваних систем управління базами даних. Він використовує концепцію реляційних баз даних і має архітектуру клієнт-сервер. Його можна встановити на різні операційні системи, включаючи Windows, CentOS і Debian та інші.
Що стосується оновлень зі старих версій MySQL, зверніть увагу, що в MySQL 8 є помітна кількість нових функцій. Будь ласка, проконсультуйтеся з експертом з ваших додатків, якщо ви використовуєте сторонні рішення / інтеграції. Якщо програми розробляються власними силами, детально ознайомтеся з новими функціями, щоб вирішити, чи потрібні зміни на рівні програми.
Деякі ключові особливості MySQL 8.0 включають:
- Сховище документів MySQL
- Ролі SQL
- Словник транзакційних даних
- За замовчуванням utf8mb4
- Загальні табличні вирази
- Функції вікна
- І багато іншого.
У наведених нижче кроках описано, як встановити та налаштувати MySQL 8.0 на Ubuntu 24.04|22.04|20.04
Крок 1: Додайте репозиторій MySQL APT
Ubuntu 24.04 вже поставляється з пакетами MySQL 8.0. Ви можете пропустити додавання репозиторію на Ubuntu 24.04, виконуйте операцію лише на Ubuntu 22.04.
Завантажте репозиторій за допомогою наведеної нижче команди:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
Після завантаження встановіть репозиторій, виконавши команду нижче:
sudo dpkg -imysql-apt-config_0.8.26-1_all.deb
Наступний запит показує MySQL 8.0, вибраний за замовчуванням. Виберіть перший варіант і натисніть OK
У наступному запиті виберіть сервер MySQL 8.0 і натисніть OK.
Наступний запит вибирає MySQL8 за замовчуванням. Вибираємо останній варіант Ок і натискаємо ОК.
Крок 2: Оновіть репозиторій MySQL
Виконайте наведену нижче команду, щоб оновити список індексів системних пакетів.
sudo apt update
Тепер шукайте MySQL 8.0 за допомогою apt кешу, як показано нижче:
### Ubuntu 22.04 ###
$ apt-cache policy mysql-server
mysql-server:
Installed: (none)
Candidate: 8.0.34-1ubuntu22.04
Version table:
8.0.34-1ubuntu22.04 500
500 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.0 amd64 Packages
8.0.34-0ubuntu0.22.04.1 500
500 https://mirror.hetzner.com/ubuntu/packages jammy-updates/main amd64 Packages
500 https://mirror.hetzner.com/ubuntu/security jammy-security/main amd64 Packages
8.0.28-0ubuntu4 500
500 https://mirror.hetzner.com/ubuntu/packages jammy/main amd64 Packages
### Ubuntu 20.04 ###
$ sudo apt-cache policy mysql-server
mysql-server:
Installed: (none)
Candidate: 8.0.29-1ubuntu20.04
Version table:
8.0.29-1ubuntu20.04
500 http://repo.mysql.com/apt/ubuntu focal/mysql-8.0 amd64 Packages
Крок 3: Встановіть пакети MySQL 8.0
Знайшовши MySQL 8.0 у нашій системі, ми встановимо клієнт MySQL 8.0, сервер MySQL 8.0 за допомогою наступної команди:
sudo apt install mysql-client mysql-community-server mysql-server
Натисніть клавішу y, щоб розпочати встановлення:
Need to get 35.3 MB of archives.
After this operation, 311 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Встановіть надійний пароль для користувача root MySQL
Підтвердьте пароль root, ввівши його ще раз.
Встановити плагін автентифікації за замовчуванням. Використовуйте механізм шифрування надійним паролем.
Крок 4: Безпечна установка MySQL
Виконайте наведену нижче команду, щоб захистити MySQL Server, встановлений на Ubuntu 24.04/22.04:
sudo mysql_secure_installation
Натисніть клавішу Enter. Коли з’явиться запит на введення пароля, введіть пароль root, встановлений вище
Enter current password for root (enter for none): <Enter password>
VALIDATE PASSWORD PLUGIN 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 plugin?
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
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n]Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Thanks for using MariaDB!
Крок 5: Перевірте встановлення MySQL 8.0
Підключіться до MySQL, щоб перевірити встановлену версію MySQL. Щоб підключитися до MySQL, виконайте наступну команду:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.27 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
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.
mysql>
Введіть пароль root, встановлений вище, і після підключення виконайте команду, як показано нижче, щоб відобразити версію MySQL.
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.27 |
+-----------+
1 row in set (0.00 sec)
Створення бази даних MySQL та користувача (опціонально)
Перебуваючи при підключенні до MySQL, ви можете виконати наступні команди для створення бази даних і надання користувачеві дозволів.
CREATE DATABASEmydb;
CREATE USER 'mydbuser'@'%' IDENTIFIED BY 'DBUserStr0ngPassw0d.';
GRANT ALL PRIVILEGES ON mydb.* TO 'mydbuser'@'%';
FLUSH PRIVILEGES;
exit
Крок 6: Увімкнення віддаленого доступу MySQL (необов’язково)
За замовчуванням віддалений доступ MySQL відключений. Щоб увімкнути його, нам потрібно відредагувати файл, як показано нижче:mysqld.cnf
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Знайдіть рядок «bind_address» і змініть, як показано нижче:
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
bind-address = 0.0.0.0
Збережіть файл і перезапустіть mysql
sudo systemctl restart mysql
Дозвіл на віддалені підключення через брандмауер
sudo ufw allow from <remote_IP_address> to any port 3306
sudo ufw enable
Щоб отримати доступ до бази даних з віддаленого комп’ютера, виконайте таку команду:
$ mysql -u user -h database_server_ip -p