Добавить в корзинуПозвонить
Найти в Дзене

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

База данных MariaDB 10 при установке на Ubuntu по умолчанию пишется в папку /var/lib/mysql. Со временем база растёт и поднимается вопрос переноса её на другой раздел диска. Перенесём базу данных в /opt/mysql/mysql. Перенос MariaDB 10 Проверим где находится текущая БД MariaDB. mysql -u root -p
select @@datadir; Видим, что файлы базы находятся в /var/lib/mysql/. Чтобы закрыть командную строку MariaDB, введите exit. exit Останавливаем сервер MariaDB: systemctl stop mysql Алиасы mysql, mariadb, mysqld, mysql.service, mariadb.service, mysqld.service. Проверяем статус, мы должны убедиться, что сервер MariaDB остановлен: systemctl status mysql Видим — Status: "MariaDB server is down". Перемещаем каталог данных MariaDB Создадим папку /opt/mysql, в неё будем переносить папку с данными MariaDB. mkdir /opt/mysql С помощью rsync переносим MariaDB в другую папку: rsync -av /var/lib/mysql /opt/mysql Флаг –a сохраняет привилегии и другие свойства каталога. Флаг –v предоставляет подробный вывод. Тепер
Оглавление

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

-2

Перенос MariaDB 10

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

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

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

exit

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

systemctl stop mysql

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

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

systemctl status mysql
-4

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

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

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

mkdir /opt/mysql
-5

С помощью 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
-6

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

-7

AppArmor

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

vim /etc/apparmor.d/tunables/alias

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

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

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

systemctl restart apparmor

Запуск MariaDB

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

mkdir /var/lib/mysql/mysql -p

Запускаем MariaDB:

systemctl start mysql
systemctl status mysql
-9

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

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

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

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

rm -R /var/lib/mysql.bak

Источник:

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

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

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