Назад | Перейти на главную страницу

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

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

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

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

согласованный снимок файловой системы, вероятно, не может быть и речи. право?

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

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