четверг, 19 ноября 2009 г.

mysql: Как переместить все базы mysql во FreeBSD?

Предположим что у вас FreeBSD, где установлен mysql. По умолчанию все базы mysql расположены в папке /var/db/mysql. (Узнать где расположены базы можно с помощью команды mysqladmin variables grep datadir). И предположим также, что вы сразу не выделили много места под папку /var, и в один прекрасный день у вас стало не хватать места под работу mysql и стали появляться ошибки вида:

"kernel: pid 2941 (mysqld), uid 88 inumber 71662 on /var: filesystem full".

Одно из решений этого вопроса состоит в переносе всех баз на другой диск. Сделать это можно следующим образом.

Допустим вы смонтировали новый диск в папку /var/db2/.

Прежде всего скопируем все базы в новую папку

1) cp -a (или -pfR) /var/db/mysql /var/db2

Далее изменим настройки mysql, добавив следующую запись в /etc/rc.conf:

2) mysql_dbdir="/var/db2/mysql"

3) Перезагружаем mysqld или лучше весь сервер.

4) Проверяем что все работает и удаляем папку /var/db/mysql: rm -Rf /var/db/mysql.

Далее работает уже без ошибок :)

Комментариев нет:

Отправить комментарий

Постоянные читатели