Каков наилучший способ создания инкрементальных резервных копий в MySQL?

StackOverflow https://stackoverflow.com/questions/409046

  •  03-07-2019
  •  | 
  •  

Вопрос

Мы используем MySQL версии 5.0, и большинство таблиц — InnoDB.Запускаем репликацию на подчиненный сервер.Мы думаем о ежедневном резервном копировании файлов журнала MySQL.

Вопросы

  • Есть ли другой способ выполнить инкрементальное резервное копирование без использования файлов журналов?
  • Каковы наилучшие методы выполнения инкрементного резервного копирования?
Это было полезно?

Решение

AFAIK единственный способ создания инкрементных резервных копий — использование двоичного журнала.У вас есть другие варианты, если вы хотите выполнять полное резервное копирование (горячее копирование InnoDB), но инкрементальное означает, что вам необходимо регистрировать все выполненные транзакции.

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

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

Другие советы

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

Затем объедините это с любым инструментом резервного копирования, поддерживающим инкрементное/дельта-резервное копирование, например rdiff-backup, duplicity, Duplicati или Areca Backup.Пример из документов о двуличности:

Поскольку Duplicity использует Librsync, инкрементные архивы эффективны пространственно и записывают только части файлов, которые изменились с момента последней резервной копии

Таким образом, ваша первая резервная копия будет представлять собой сжатую копию первого полного дампа, а вторая будет содержать сжатые различия из первого и второго дампов и так далее.Вы можете восстановить файл mysqldump в любой момент времени, а затем восстановить этот файл в MySQL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top