0

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

08.03.2022

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

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

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

В наше время базы данных используются практически везде, я уже не говорю про крупные компании и команды разработчиков приложений, даже веб-мастера, которые
Previous Story

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

Next Story

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

Latest from Blog

Ansible: развёртывание Django-стека на 3 VM

Это четвертая и завершающая статья из цикла: настройка и развертывание Django-стека на серверах. До этого мы освоили основы Terraform, научились управлять облачным ЦОДом через него и подробно рассмотрели работу Django-стека на одном сервере. В этой статье —

Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300. От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам

Безопасная работа в домене ALD Pro на базе FreeIPA

В первой части мы обсудили правила HBAC и SUDO для ограничения доступа к хостам и предоставления прав на повышение привилегий. Теперь поднимем не менее важные вопросы: мы поговорим о политиках паролей, необходимости обновления

Mikrotik: изменяем TTL

Иногда для преодоления проблем от операторов сотовой связи необходимо зафиксировать TTL. Терминал: Через интерфейс:
Go toTop

Don't Miss

Тонкая настройка MYSQL

Эта заметка, в основном, является переводом соответствующих разделов руководства по
mysql

Основные команды SQL, которые должен знать каждый админ.

Основные команды SQL не ограничиваются стандартными CREATE, UPDATE и DELETE. Данная статья будет полезна