По-умолчанию, MySQL хранит базы данных в /var/lib/mysql, иногда требуется сменить это расположение перенеся эту папку в другое место, например, на диск большей емкости. Об этом и будет сегодняшняя инструкция..
Останавливаем mysql
systemctl stop mysql
если вдруг в ващем случае mysql сервиса не будет, попробуйте mysqld, mysql-server или mariadb
Далее создаем папку в новом месте, в моем случае
mkdir -p /store/mysql/data
и меняем пользователя на mysql
sudo chown mysql:mysql /store/mysql/data
теперь перемещаем все файлы из /var/lib/mysql/* в /store/mysql/data/*
mv /var/lib/mysql/* /store/mysql/data/
далее открываем файл конфигурации mysql, у меня это
/etc/mysql/mysql.conf.d/mysqld.cnf
**у вас он может быть другой, например /etc/my.cnf или /etc/mysql/my.cnf , ищите файл в котором есть опция datadir в секции [mysqld]
В этом файле, ищем опцию datadir в секции [mysqld] и меняем там путь с
[mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking
на
[mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /store/mysql/data tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking
следующее что надо сделать, добавить этот путь в apparmor, открываем файл
/etc/apparmor.d/usr.sbin.mysqld
ищем там
/var/lib/mysql/ r, /var/lib/mysql/** rwk,
и ниже добавляем
/store/mysql/data/ r, /store/mysql/data/** rwk,
сохраняем и перезапускаем apparmor
systemctl restart apparmor
и запускаем mysql
systemctl start mysql