Сделайте снимок действующей базы данных mySQL с таблицами myISAM и innoDB без блокировки

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

Я хотел бы использовать репликацию, чтобы скопировать все данные на новую машину, а затем в какой-то момент щелкнуть выключателем и сделать эту новую машину главной (обычный сценарий отработки отказа). Моя проблема в том, что я не уверен, как инициализировать репликацию без блокировки базы данных, чтобы сделать начальный снимок, который я буду использовать? Есть какой-либо способ сделать это? Я знаю, что мог бы сделать это с помощью одной транзакции, если бы использовал innoDB, но, к сожалению, у нас есть некоторые таблицы myISAM (на самом деле самая большая таблица на 150 ГБ - это myISAM, и я хочу переключить ее на InnoDB, но я не могу этого сделать пока у меня не будет больше места и горячей копии, чтобы переключиться на).

Есть идеи? Есть ли способ сделать такой снимок? Или есть альтернативный способ заставить репликацию "догнать" без моментального снимка для инициализации?

1 ответ

Решение

Согласованный снимок файловой системы, вероятно, не подлежит обсуждению. право?

Снимок на lvm был бы разумной отправной точкой...

Каковы характеристики ваших данных - особенно в myisam - сильно ли они меняются?

Другие вопросы по тегам