Как правильно и быстро перенести БД MySQL с одного сервера на другой

Есть база данных MySQL: сотня таблиц (InnoDB и MyISAM), 30 миллионов записей, 5 Гб.
Как правильно и быстро перенести эту базу с одного сервера на другой?
На старом сервере MySQL 5.0.51a, на новом 5.1.56.
Можно ли просто скопировать файлы? Или лучший стандартный вариант — mysqldump?
  • Вопрос задан
  • 23157 просмотров
Пригласить эксперта
Ответы на вопрос 11
@bondbig
mysqldump, да.
Ответ написан
Комментировать
@marazmiki
Укротитель питонов
Вариант с mysqldump вполне рабочий. Ещё можно попробовать способ, который использовался при переезде хабра (см. раздел «База»)
Ответ написан
Комментировать
@itrabotnik
поддерживаю bondbig
переносил базу на 17гб, оптимальный вариант оказался mysqldump
Ответ написан
Комментировать
AntonMinsk
@AntonMinsk
Если нет возможности «остановки» сервера БД на время переноса, можно попробовать реплицировать, в случае mysqldump есть вероятность, что перенесенная БД не будет полностью актуальной.
Ответ написан
Просто скопировать файлы не получиться, т.к. у Вас есть таблицы InnoDB.
Используйте mysqldump.
Ответ написан
@niko83
а как на счёт LOAD DATA INFILE? — должно быть быстро
Ответ написан
Комментировать
lazyk
@lazyk
я бы сделал следущее

лочим таблицы
копируем файлами данные
из второй базы делаем реплику
разлочиваем таблицы
стартуем реплику

а потом подменяем мастера в любой удобный момент за считанные секунды
Ответ написан
lazyk
@lazyk
если myisam то перкона не перкона, без лока никак не получиться, правильнее бекап снимать с реплики, таки образом мы никак не нагружаем нашего мастера и не прерываем его работу
Ответ написан
Комментировать
alexkbs
@alexkbs
Например, так:
newserver# ssh -C oldserver mysqldump ... | pv | mysql -fbp
Ответ написан
Комментировать
@sevmax
C Mysqldump может очень долго разворачиваться база.
рекомендую innobackupex от www.percona.com. Работает гораздо более эффективно, чем нативный mysqldump
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
sypex dumper тоже клевая штука, быстрая и работает даже если нет доступа по ssh
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы