Как переместить базу данных MySQL в другую точку монтирования - PullRequest
4 голосов
/ 13 апреля 2009

У меня есть база данных MySQL, она становится все больше и больше, и я хочу переместить всю базу данных в другую точку монтирования, где у меня достаточно памяти. Я хочу, чтобы мои текущие данные были перенесены, и эти новые данные были сохранены в новой позиции.

программный стек: MySQL 5 работает на FreeBSD 6

Ответы [ 3 ]

3 голосов
/ 13 апреля 2009
  • Стоп mysqld
  • Скопируйте / var / lib / mysql (или любой другой $ datadir в my.cnf) в новое местоположение
  • Либо смонтируйте новое местоположение под старым $ datadir, либо измените конфигурацию MySQL в файле my.cnf, чтобы отразить новое местоположение.
  • Запустите mysqld

В этом нет никакой магии. ;) Но вы должны убедиться, что вы скопировали все разрешения с файлами MySQL.

3 голосов
/ 13 апреля 2009

Конечно, другие ответы действительны. Но если вы хотите сохранить конфигурацию по умолчанию, сделайте следующее:

  1. stop mysqld
  2. mv /var/lib/mysql /var/lib/mysql.backup
  3. смонтировать новый раздел под /var/lib/mysql
  4. cp -r /var/lib/mysql.backup /var/lib/mysql
  5. start mysqld
2 голосов
/ 13 апреля 2009

Если вы можете допустить, чтобы база данных была недоступна для перемещения:

  1. Завершение работы MySQL
  2. rsync файлы в новую точку монтирования
  3. либо:
    1. изменить mysql.conf, чтобы указать MySQL, где искать файлы, или
    2. сделать текущий каталог символом нового
  4. перезагрузите MySQL
...