Сделайте снимок действующей базы данных mySQL с таблицами myISAM и innoDB без блокировки
У нас есть действующая база данных в производстве, где у нас не хватает места на сервере. Поэтому я хотел бы перенести на новый сервер без простоев (или как можно меньше простоев). В общем, я также хотел бы иметь горячую резервную копию базы данных.
Я хотел бы использовать репликацию, чтобы скопировать все данные на новую машину, а затем в какой-то момент щелкнуть выключателем и сделать эту новую машину главной (обычный сценарий отработки отказа). Моя проблема в том, что я не уверен, как инициализировать репликацию без блокировки базы данных, чтобы сделать начальный снимок, который я буду использовать? Есть какой-либо способ сделать это? Я знаю, что мог бы сделать это с помощью одной транзакции, если бы использовал innoDB, но, к сожалению, у нас есть некоторые таблицы myISAM (на самом деле самая большая таблица на 150 ГБ - это myISAM, и я хочу переключить ее на InnoDB, но я не могу этого сделать пока у меня не будет больше места и горячей копии, чтобы переключиться на).
Есть идеи? Есть ли способ сделать такой снимок? Или есть альтернативный способ заставить репликацию "догнать" без моментального снимка для инициализации?
1 ответ
Согласованный снимок файловой системы, вероятно, не подлежит обсуждению. право?
Снимок на lvm был бы разумной отправной точкой...
Каковы характеристики ваших данных - особенно в myisam - сильно ли они меняются?