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

Инкрементное / дифференциальное резервное копирование MySQL с использованием mysqldump

Существуют ли какие-либо методы использования mysqldump (или аналогичной команды) для создания инкрементных или дифференциальных резервных копий MySQL?

Вы можете имитировать инкрементное резервное копирование, включив, а затем создав резервную копию двоичных журналов. Видеть http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html в разделе «Создание дополнительных резервных копий путем включения двоичного журнала».

Оформить заказ Xtrabackup (от Percona), если вы используете InnoDB. Он может делать добавочные.

http://www.percona.com/docs/wiki/percona-xtrabackup:xtrabackup:incremental?rev=1289183209

Ура

Я использую бинарные журналы, но они не являются окончательным решением, и я также склонен полагаться на снимки состояния.

Для этого есть две основные причины:

  • Бинлоги хранят все изменения. Бинарных журналов за неделю, вероятно, будет значительно больше, чем разница между двумя снимками с интервалом в неделю. Единственное облегчение заключается в том, что бункерные журналы имеют тенденцию хорошо сжиматься (обычно значительно ниже 10%).
  • Если вам когда-нибудь понадобится выполнить аудит или вернуться назад, то воспроизведение бинлога с древним снимком займет очень много времени, и чем больше бинлог, тем выше вероятность ошибки, поэтому вам нужны регулярные снимки.

У меня в последнее время было большое количество снимков, не было ни сжатых, ни дифференциальных. Я экспериментировал с diff и обнаружил, что даже с такими параметрами, как отсутствие контекста, полученные различия были больше.

Не пробуя все альтернативы, лучшее, что я нашел, - это rdiff. Это уменьшило их размер примерно до 5% для меня, а затем при сжатии с помощью xz в зону 1%.

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

Многие люди не нуждаются в таком решении, так как в большинстве случаев в случае сбоя им нужно будет сохранить базу данных с самым последним изображением и обновить ее как можно быстрее.

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

Проверьте https://sourceforge.net/projects/mysqlincrementalbackup/ сценарий. Решение для инкрементного резервного копирования для MyISAM и Innodb.