Найти тему

Установка MySQL 8 в Debian 11

Оглавление

Инструкция по установке MySQL 8 на Debian 11. После установки уделим немного внимания настройкам безопасности и переместим базу в другую директорию.

Данные об операционной системе:

Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye

Установка репозитория MySQL 8

Предварительно нужно установить пакет gnupg. Если не устанавливали, то:

apt-get install gnupg

Установим MySQL APT репозиторий, переходим на страничку:

https://dev.mysql.com/downloads/

-2

Нас интересует раздел MySQL APT Repository, переходим в него.

-3

Последний пакет называется mysql-apt-config_0.8.20-1_all.deb, копируем ссылку на него. Загрузим пакет:

cd /tmp
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb
ls -fla | grep mysql
-4

Установим пакет:

dpkg -i mysql-apt-config_0.8.20-1_all.deb
-5

Версия сервера MySQL mysql-8.0 выбрана автоматически. MySQL Tools & Connectors — Enabled. MySQL Preview Packages — Disabled. Нажимаем OK.

После установки пакета в /etc/apt/source.list.d/ добавится mysql.list.

-6

Обновляем репозиторий:

apt-get update

Установка MySQL 8

Установим MySQL сервер.

apt-get install mysql-server
-7

В процессе установки нас просят установить пароль пользователя root для MySQL.

-8

Повторяем ввод пароля.

-9

Выбираем плагин аутентификации по умолчанию. Рекомендуется Strong Password Encryption.

-10

Ok. Установка завершена.

Настройки безопасности

Для настройки безопасного доступа к MySQL существует специальный скрипт:

mysql_secure_installation

Он позволяет настроить следующие параметры, я указал то что в скобках:

  • VALIDATE PASSWORD COMPONENT — использовать компонент VALIDATE PASSWORD? (No)
  • Изменить пароль от root? (No)
  • Удалить анонимных пользователей? (y)
  • Запретить удалённый логин под root? (y)
  • Удалить тестовую базу и доступ к ней? (y)
  • Обновить таблицу привилегий? (y)
-11

MySQL сервер должен запуститься. Посмотрим статус:

systemctl status mysql
-12

Проверка на автозагрузку:

systemctl is-enabled mysql
-13

Если MySQL не запускается автоматически:

systemctl enable mysql

Перемещение базы данных MySQL 8

База данных MySQL 8 при установке на Ubuntu по умолчанию пишется в папку /var/lib/mysql. Со временем база растёт и поднимается вопрос переноса её на другой раздел диска. Перенесём базу данных в /opt/mysql/mysql.

Создадим директорию для MySQL:

cd /opt
mkdir mysql
ls -Fla
-14

Проверим где находится текущая БД MySQL.

mysql -u root -p
select @@datadir;
-15

Видим, что файлы базы находятся в /var/lib/mysql/. Чтобы закрыть командную строку MySQL, введите exit.

exit

Останавливаем сервер MySQL:

systemctl stop mysql

Проверяем статус, мы должны убедиться, что сервер MySQL остановлен:

systemctl status mysql
-16

Видим — Status: "Server shutdown complete".

С помощью rsync переносим MySQL в другую папку:

rsync -av /var/lib/mysql /opt/mysql
-17

Переименуем старую папку /var/lib/mysql, сохраним её на случай сбоя:

mv /var/lib/mysql /var/lib/mysql.bak
-18

По умолчанию путь настроен в файле /etc/mysql/mysql.conf.d/mysqld.cnf, редактируем.

vim /etc/mysql/mysql.conf.d/mysqld.cnf

Найдите строку datadir= и укажите в ней путь к новому каталогу данных /opt/mysql/mysql.

-19

MySQL при запуске проверяет наличие директории /var/lib/mysql/mysql (ЗАЧЕМ?). Чтобы он не ругался, создадим пустую папку:

mkdir /var/lib/mysql/mysql -p

Запускаем MySQL:

systemctl start mysql
systemctl status mysql
-20

Проверяем текущий путь:

mysql -u root -p
select @@datadir;
-21

Путь теперь /opt/mysql/mysql/.

​Удаление ненужных файлов:

rm -R /var/lib/mysql.bak

Вместо заключения

Мы установили MySQL 8 на Debian 11. После установки настроили параметры безопасности и переместили базу в другую директорию.

Установка не заняла много времени.

Ссылки

Установка MySQL 8 на Windows Server 2016

Установка MySQL 8 на Ubuntu 18.04 LTS

Перемещение базы данных MySQL 8 в Ubuntu 18.04 LTS

#системное администрирование

Источник:
https://internet-lab.ru/mysql8_debian_install

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.