Изменение местоположения базы данных MySQL - PullRequest
2 голосов
/ 01 апреля 2012

Я использую сервер Linux, и мне интересно, если и как я могу изменить содержимое сервера Mysql для сохранения на внешнем жестком диске вместо того места, где он сейчас хранится.

Ответы [ 2 ]

4 голосов
/ 01 апреля 2012

Точный метод зависит от того, используете ли вы таблицы MyISAM или InnoDB.

Для MyISAM каждая база данных представляет собой каталог с таблицами, форматами, индексами и т. Д. Внутри.Все эти каталоги обычно находятся в /var/lib/mysql/ каталоге.Чтобы вставить другой том, вы можете либо изменить параметр конфигурации datadir, либо альтернативно сделать /var/lib/mysql/ точкой монтирования этого нового тома.

Для InnoDB по умолчанию используется один файл в одном и том же файле./var/lib/mysql/ каталог;поэтому установка нового тома там тоже будет работать.Опять же, переменная конфигурации может использоваться для изменения точного местоположения, если вы хотите поместить все ваши тома в другое место.

Кроме того, InnoDB может использовать целый раздел или блочное устройство в качестве хранилища данных, пропуская файловую систему.В большинстве случаев предполагаемое увеличение скорости пренебрежимо мало, поэтому обычно не рекомендуется, если у вас уже нет хорошей среды управления томами.

Наконец, если у вас уже есть данные, которые вы хотите переместить, проще всегопросто скопируйте весь каталог /var/lib/mysql/ после завершения процесса mysqld и перед его направлением туда.

1 голос
/ 01 апреля 2012

В дополнение к другим ответам я предлагаю иметь процедуру дампа MySQL (возможно, mysqldump --all-databases), затем очистить сервер MySQL и перезагрузить его.

Конечно, это немного медленнее, чем другие методы (непосредственное перемещение внутренних серверов MySQL), но оно имеет решающее преимущество в использовании навыков резервного копирования и восстановления базы данных. Это также позволяет вам слегка изменить конфигурацию базы данных, если хотите.

Надеюсь, у вас есть процедура резервного копирования базы данных, которую вы периодически запускаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...