Небольшое хау-ту по поводу переноса баз MySQL на другой раздел диска с изменением путей в конфиг-файлах
В инструкциях ниже учитывается то, что базы MySQL расположены по стандартному пути - "/var/lib/mysql", а перенос их будет осуществляться в "/opt/mysql". Просьба это учесть и иметь ввиду при работе с собственной системой.
1. Останавливаем MySQL сервер
sudo /etc/init.d/mysql stop
2. Создадим директорию "mysql", в которой будут размещаться наши базы данных (у меня это "/opt/mysql")
sudo mkdir /opt/mysql
3. Переносим файлы баз данных и назначаем свежесозданной директории права пользователя "mysql"
sudo chown -R mysql:mysql /opt/mysql sudo cp -R /var/lib/mysql/ /opt/mysql sudo chown -R mysql:mysql /opt/mysql/*
4. Редактируем файл "/etc/mysql/my.cnf", меняем значение пути к базам данных в строке "datadir = /var/lib/mysql" на свое
sudo nano /etc/mysql/my.cnf
5. Поскольку в Ubuntu используется такая штука, как AppArmor, нам необходимо внести некоторые коррективы в конфиг-фаил по работе с MySQL. Редактируем файл "/etc/apparmor.d/usr.sbin.mysqld"
sudo nano /etc/apparmor.d/usr.sbin.mysqld
Ищем в нем строки
/var/lib/mysql/ r, /var/lib/mysql/** rwk,
и меняем на
/opt/mysql/ r, /opt/mysql/** rwk,
6. Перезапускаем apparmor
sudo /etc/init.d/apparmor restart
7. Запускаем сервер MySQL
sudo /etc/init.d/mysql start
После того, как сервер пусканется и проблем при этом не будет замечено, можно смело удалять старый каталог хранения баз
sudo rm /var/lib/mysql