2016-07-31 8 views
1

Мне нужно переместить базу данных MySQL в новое место. БД имеет размер 200 МБ в зависимости от рабочего места, но есть несколько таблиц с миллионами строк, в которых указаны индексы и длина данных в несколько ГБ. В результате EXPORT имеет размер 15 ГБ, и для экспорта БД требуется много часов, а его копирование в новое место и многое другое для его импорта. Во время этого процесса веб-сайт должен быть в автономном режиме, чтобы база данных не изменялась. Первая попытка слишком за 36 часов, и импорт не удался. Это слишком долго, есть ли лучший/более быстрый способ сделать это, а затем ужасный импорт/экспорт? Я привык работать с MSSQL, который очень быстро выполняет такую ​​работу, беру db в автономном режиме, копирует файл в новое место, монтирует DB, выполняется. это занимает несколько минут и так просто. Никогда не понимал, почему MySQL делает это так сложно.Резервное копирование/восстановление MySQL

+0

Какой двигатель MySQL вы используете? MySQL? InnoDB? Другие? – Jocelyn

+0

Вы можете сделать то же самое с MySQL, «возьмите db offline, скопируйте * db-файлы * в новое место, установите DB, done». Но, пожалуйста, убедитесь, что у вас установлена ​​одна и та же версия mysql и при копировании файлов db никаких операций чтения не выполняются. – thekosmix

+0

такой опции нет с MySQL, базы данных INNODB не находятся в отдельных файлах. Он хранит все данные для всех баз данных в одном файле. Поэтому я не могу этого сделать, поскольку на сервере есть много других баз данных. – snake

ответ

0

Percona XtraBackup - полезный инструмент, если у вас есть таблицы InnoDB innobackupex поможет сделать горячее резервное копирование и восстановление.

Также при настройке InnoDB File-Per-Table резервная копия будет похожа на таблицы MyISAM.

Если у вас есть таблицы MyISAM процесс:

  1. Остановить сервер происхождения сервера.
  2. Скопируйте (и сжать) свой database folder в надежном месте, например: /var/lib/mysql/your_database.
  3. Восстановить файлы в том же месте на целевом сервере после остановки сервера MySQL.
  4. Начальный целевой сервер.

Оба сервера должны иметь минимальную разницу в версии, поскольку MyISAM имеет собственную версию формата.

Смежные вопросы