5.1.3 Восстановление инкрементной резервной копии
Опция --incremental не требуется при восстановлении инкрементной резервной копии.
Существуют различные способы использования инкрементных резервных копий для восстановления сервера базы данных в разных сценариях. Предпочтительный метод заключается в первоначальном восстановлении полной резервной копии и обновлении её до момента создания полной резервной копии с помощью команды copy-back-and-apply-log (см. Пример 5.1, «Восстановление сервера базы данных» для получения инструкций), а затем повторное использование copy-back-and-apply-log для восстановления образа инкрементной резервной копии поверх только что восстановленной полной резервной копии:
Пример 5.6 Восстановление образа инкрементной резервной копии
mysqlbackup --defaults-file=<my.cnf> -uroot --backup-image=<inc_image_name> \
--backup-dir=<incBackupTmpDir> --datadir=<restoreDir> --incremental \
copy-back-and-apply-log
В данном примере образ инкрементной резервной копии, названный <inc_image_name>, восстанавливается в <restoreDir> на сервере (где полная резервная копия, на основе которой был создан образ инкрементной резервной копии, уже восстановлена). Опция --backup-dir используется для указания временной директории, в которой сохраняются временные выходные данные, файлы состояния и метаданные резервной копии. Повторите этот шаг для других образов инкрементных резервных копий, пока данные не будут восстановлены до желаемого момента времени.
Дополнительно: Восстановление инкрементной резервной копии каталога
Инкрементные резервные копии каталогов можно восстановить в серии команд copy-back-and-apply-log, как показано выше для резервных копий отдельных файлов. В качестве альтернативы, в любое время после создания инкрементной резервной копии и перед восстановлением данных, можно обновить полную резервную копию с помощью инкрементной резервной копии. Сначала примените к полной резервной копии любые изменения, произошедшие во время выполнения резервного копирования:
$ mysqlbackup --backup-dir=/full-backup/2010-12-08_17-14-11 apply-log
..many lines of output...
101208 17:15:10 mysqlbackup: Full backup prepared for recovery successfully!
101208 17:15:10 mysqlbackup: mysqlbackup completed OK!
Затем примените изменения из инкрементной резервной копии с помощью команды apply-incremental-backup:
$ mysqlbackup --incremental-backup-dir=/incr-backup/2010-12-08_17-14-48 \
--backup-dir=/full-backup/2010-12-08_17-14-11 apply-incremental-backup
...many lines of output...
101208 17:15:12 mysqlbackup: mysqlbackup completed OK!
Теперь файлы данных в каталоге полной резервной копии полностью обновлены, начиная с момента последней инкрементной резервной копии. Вы можете продолжить обновление их с помощью дополнительных инкрементных резервных копий, чтобы они были готовы к восстановлению в любое время.
Восстановление двоичного журнала и журнала ретрансляции
При восстановлении инкрементной резервной копии с помощью команды copy-back-and-apply-log или apply-incremental-backup, двоичный журнал (а также журнал ретрансляции в случае сервера репликации), если он включён в инкрементную резервную копию, по умолчанию также восстанавливается на целевой сервер. Это поведение по умолчанию переопределяется, если (1) используется опция --skip-binlog (или опция --skip-relaylog для журнала ретрансляции) с командой восстановления, или (2) если в полной резервной копии, на основе которой была создана инкрементная резервная копия, или в любой предыдущей инкрементной резервной копии между полной резервной копией и этой инкрементной резервной копией отсутствует двоичный журнал (или журнал ретрансляции) (в обоих случаях mysqlbackup переименовывает все файлы двоичного журнала (но не журнала ретрансляции) и их индексные файлы, которые уже были восстановлены на сервере, добавляя расширение .old к их именам файлов).
Местоположение двоичного журнала (или журнала ретрансляции) после восстановления инкрементной резервной копии по умолчанию такое же, как и местоположение журнала на сервере резервного копирования во время создания инкрементной резервной копии, или как указано в опции --log-bin (или --relay-log) во время восстановления инкрементной резервной копии.
См. Раздел 4.3.3, «Создание дифференциальной или инкрементной резервной копии» и Раздел 20.7, «Параметры инкрементного резервного копирования» для получения дополнительной информации об инкрементных резервных копиях.
© 2025 Oracle
Licensed under the GPLv2 License.