По умолчанию в Ubuntu базы MySQL расположены в директории — «/var/lib/mysql». Иногда, по некоторым причинам возникает необходимость их переноса в другую директорию: например Вы захотели держать их на отдельном диске (локальном или сетевом) а диск автоматически монтируется в директорию, ну например, /mysqlbase. Перенос баз данных MySQL в другую директорию достаточно прост и состоит из нескольких шагов:
1. Останавливаем MySQL сервер
sudo service mysql stop
2. Переносим файлы баз данных в директорию «/mysqlbase»
sudo cp -R /var/lib/mysql/ /mysqlbase
3. Меняем владельца директории «/mysqlbase» и файлов находящихся в них на «mysql»
sudo chown -R mysql:mysql /mysqlbase
4. Редактируем файл «/etc/mysql/my.cnf»
sudo nano /etc/mysql/my.cnf
меняем значение пути к базам данных в строке «datadir = /var/lib/mysql» на «datadir = /mysqlbase»
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,
и меняем на
/mysqlbase/ r, /mysqlbase/** rwk,
6. Перезапускаем apparmor
sudo service apparmor restart
7. Запускаем сервер MySQL
sudo service mysql start