Перейти к основному содержанию

Debian 11 — установка MySQL 8

Debian

Инструкция по установке 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/

sql

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

sql

Последний пакет называется 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

sql

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

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

sql

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

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

sql

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

apt-get update

Установка MySQL 8

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

apt-get install mysql-server

sql

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

sql

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

sql

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

sql

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

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

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

mysql_secure_installation

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

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

sql

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

systemctl status mysql

sql

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

systemctl is-enabled mysql

sql

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

systemctl enable mysql

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

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

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

cd /opt
mkdir mysql
ls -Fla

sql

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

mysql -u root -p
select @@datadir;

sql

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

exit

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

systemctl stop mysql

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

systemctl status mysql

sql

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

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

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

sql

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

mv /var/lib/mysql /var/lib/mysql.bak

sql

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

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

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

sql

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

mkdir /var/lib/mysql/mysql -p

Запускаем MySQL:

systemctl start mysql
systemctl status mysql

sql

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

mysql -u root -p
select @@datadir;

sql

Путь теперь /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

Теги

 

Похожие материалы