Найти в Дзене

Перемещение базы данных MariaDB в Ubuntu 20.04

Оглавление

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

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

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

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

exit

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

systemctl stop mysql

Алиасы: mysql, mariadb, mysqld, mysql.service, mariadb.service, mysqld.service.

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

systemctl status mysql
-3

Видим — Status: "MariaDB server is down".

Перемещаем каталог данных MariaDB

Создадим папку /opt/mysql, в неё будем переносить папку с данными MariaDB.

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

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

Флаг –a сохраняет привилегии и другие свойства каталога. Флаг –v предоставляет подробный вывод. Теперь внимание, папка /var/lib/mysql теперь находится по адресу /opt/mysql/mysql (ну так мне было нужно).

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

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

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

vim /etc/mysql/mariadb.conf.d/50-server.cnf
-4

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

-5

AppArmor

Настроим AppArmor, чтобы предоставить MariaDB право на изменение нового каталога. Редактируем файл /etc/apparmor.d/tunables/alias:

vim /etc/apparmor.d/tunables/alias

Добавим правило:

alias /var/lib/mysql/ -> /opt/mysql/mysql/,
-6

Перезапустим AppArmor:

systemctl restart apparmor

Запуск MariaDB

MariaDB при запуске проверяет наличие директории /var/lib/mysql/mysql.Создадим пустую папку:

mkdir /var/lib/mysql/mysql -p

Запускаем MariaDB:

systemctl start mysql
systemctl status mysql
-7

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

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

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

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

rm -R /var/lib/mysql.bak

Источник:

Перемещение базы данных MariaDB 10 в Ubuntu 20.04 | internet-lab.ru

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

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