Как перенести большую базу на другой сервер без простоев?
Нужно перенести сайт на другой сервер, но проблема в том, если делать mysqldump на изначальном сервере, потом передавать его на новый сервер, потом на новом сервере этот sql файл загружать в базу, то это может занять минимум пару часов, в течении которых сайт будет недоступен. Как это можно сделать быстрее? sql файл бекапа весит больше 12ГБ
Рабочий ли вариант если просто через rsync передать всю папку /var/lib/mysql?
Еще вариант с репликацией, но насколько я понял всё равно базу нужно блокировать на момент дампа, а это тоже какое-то время
Рабочий ли вариант если просто через rsync передать всю папку /var/lib/mysql?
Если другая система аналогична первой и совпадают версии MySQL (вплоть до патча), то есть вероятность, что заведётся. На первом сервере всё равно при этом надо будет остановить MySQL.
Я так делал, когда нужно было внезапно перенести БД размером больше терабайта, но у меня были докеры, содержимое которых куда проще воспроизвестию
а если такой костыль :)
rsyncунуть/скопировать работающаю базу, она перенесется с ошибками естественно, но перенесется основной объем статичного содержания базы.
далее остановить мускуль, и rsyncунуть вновь. рсинк сравнит файлы и перенесет только изменившиеся части.
в итоге получится полноценная копия, только остановка мускуля будет минимальная по времени.