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

Перенос базы данных InnoDB через rsync

Мы находимся в процессе перехода на новый RAID-массив, и нам необходимо скопировать нашу базу данных MySQL InnoDB в новый RAID-массив, минимизируя время простоя (база данных 50 ГБ). Я понимаю, что использование rsync в работающей базе данных MySQL не приведет к созданию пригодной для использования копии базы данных. Однако могу ли я получить точную копию, используя rsync в работающей базе данных, затем полностью выключив mysqld и запустив последний rsync? Существуют ли какие-либо возможности повреждения данных в этом случае, если я гарантирую, что mysql не запущен с последним запуском rsync?

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

То, что вы делаете, воспользуется преимуществами rsyncдельта-переносов и эффективно копирует "выключенную" базу данных за немного более короткий период времени, так как это будет просто дельта-копирование тех частей, которые изменились.

Как и в случае с любой другой процедурой, прежде чем делать это в производственной среде, вы можете создать тестовый пример (создать экземпляр MySQL и БД, создать резервную копию, внести некоторые изменения, выключить, выполнить окончательную синхронизацию и убедиться, что он работает на клонированной коробке).