В некоторых случаях бывает необходимо перенести базы данных mysql из каталога по-умолчанию (/var/lib/mysql) в другой каталог или даже на отдельный раздел. Например, для защиты баз данных от повреждения, в случае, если файловая система на основном разделе будет повреждена.
Тема создания новых разделов в этой заметке затронута не будет. Опишу лишь то, что необходимо сделать, когда раздел для нового размещения баз данных будет готов.
Первым делом нужно остановить сервер mysql.
# service mysql stop
Затем скопируйте содержимое /var/lib/mysql в новое местоназначение. К примеру, это будет раздел /databases.
# cp -pR /var/lib/mysql /databases
Ключ -p сохраняет исходные параметры файлов: владелец, группа, права доступа и т.д.
Ключ -R отвечает за рекурсивное копирование каталогов.
Завершающим действием будет редактирование конфигурационного файла mysql. Открываем файл /etc/my.cnf и находим переменную datadir. Её значение по-умолчанию:
datadir = /var/lib/mysql
Указываем новое местоположение баз данных:
datadir = /databases/mysql
Запускаем mysql командой service mysql start. Старый каталог можно удалить. Какие-либо ошибки можно найти в лог-файле /var/log/daemon.log, или в файле /var/log/syslog.