Как выполнить backup и восстановить MySQL?

/

Это обусловлено тем, что база в любой момент может быть модифицирована. Существует кэш и копирование может совпасть с моментом записи в файл (модификацией файла). В этом случае проблемы возникнут при попытке восстановления базы из backup.

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

Процесс состоит из двух фаз:

  1. Создание первоначального полного снимка базы. В параметрах “mysqldump” указывается ключ –flush-logs, который приводит к принудительному сохранению бинарных логов, ротации файлов бинарных логов, чтобы при последующем их сохранении было известно с какого файла начинать синхронизацию. mysqldump --verbose --single-transaction --quote-names --complete-insert --extended-insert --routines --events --triggers -uLOGIN -PPORT -hHOST -pPASS --flush-logs DBNAME > dump.sql
    Такой снимок базы выполняется изначально при запуске всего механизма Backup данных, а также рекомендуется повторно выполнять полные снимки базы один раз в месяц.
  2. Периодический Backup бинарных логов от момента предыдущего Backup. Эта операция выполняется простым копированием файлов (обычно расположены /var/lib/mysql) с момента предыдущего инкрементального или полного Backup по текущий момент, за исключением последнего файла, в который записываются текущие изменения. Такую периодическую процедуру рекомендуется выполнять один раз в неделю.

Восстановление backup из инкрементальных логов происходит следующим образом:

  1. Восстанавливаем базы из последнего полного backup.
  2. Накатывание инкрементальных обновлений. Последовательно применяются к базе бинарные логи: mysqlbinlog binlog_files | mysql -uLOGIN -pPASS
Previous Story

РАЗМЕР БАЗЫ ДАННЫХ MYSQL

Next Story

Как автоматизировать резервное копирование базы данных MySQL в Linux

Latest from Blog

VMware и terraform

Те, кто еще не знаком с IaaC или Infrastructure-as-a-Code, но постоянно работают с системами виртуализации, наверняка задумывались и

Команды Asterisk

Консольные команды Asterisk можно узнать при помощи команды core show help Войти в консоль Asterisk можно

0 £0.00