Глава 19. Команды mysqlbackup

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

У каждой из этих команд есть свой собственный набор необходимых или позволенных вариантов команды. Например, команда backup, как правило, запрашивает информацию о связи с сервером базы данных. apply-log и другие команды, которые воздействуют на данные резервного копирования после того, как это производится, требуют вариантов, которые определяют, где данные резервного копирования расположены.

Главные группы команд:

19.1. Операции резервного копирования

Операции резервного копирования наиболее часто выполняемые задачи MySQL Enterprise Backup. Различные виды резервных копий могут быть выполнены, добавив различные варианты, например, --compress идли --incremental для сжатых или возрастающих резервных копий. Вот синтаксис для команд mysqlbackup для выполнения операции резервного копирования:

mysqlbackup [STD-OPTIONS]
[CONNECTION-OPTIONS]
[SERVER-REPOSITORY-OPTIONS]
[BACKUP-REPOSITORY-OPTIONS]
[METADATA-OPTIONS]
[COMPRESSION-OPTIONS]
[SPECIAL-BACKUP-TYPES-OPTIONS]
[INCREMENTAL-BACKUP-OPTIONS]
[PARTIAL-BACKUP-RESTORE-OPTIONS]
[SINGLE-FILE-BACKUP-OPTIONS]
[PERFORMANCE-SCALABILITY-CAPACITY-OPTIONS]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTION-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
[ENCRYPTED-INNODB-OPTIONS]
backup-to-image

mysqlbackup [STD-OPTIONS]
[CONNECTION-OPTIONS]
[SERVER-REPOSITORY-OPTIONS]
[BACKUP-REPOSITORY-OPTIONS]
[METADATA-OPTIONS]
[COMPRESSION-OPTIONS]
[SPECIAL-BACKUP-TYPES-OPTIONS]
[INCREMENTAL-BACKUP-OPTIONS]
[PARTIAL-BACKUP-RESTORE-OPTIONS]
[PERFORMANCE-SCALABILITY-CAPACITY-OPTIONS]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTED-INNODB-OPTIONS]
backup |
backup-and-apply-log

19.2. Операции по обновлению

Есть два типа операций, чтобы получить ваши актуальные данные резервного копирования:

Apply-log

После того, как задание резервного копирования было закончено, данные резервного копирования не могли бы быть в последовательном состоянии потому, что данные, возможно, были вставлены, обновлены или удалены в то время, как резервная копия создавалась. Этот начальный резервный файл известен как сырая резервная копия . Во время изготовления резервной копии mysqlbackup также копирует накопленный журнал InnoDB к файлу, названному ibbackup_logfile. В операции apply-log файл ibbackup_logfile используется, чтобы продвинуть вперед файлы необработанных данных, чтобы каждая страница в файлах данных соответствовала тому же самому порядковому номеру в журнале InnoDB. Это подобно операции, которая происходит во время восстановления сбоя.

Для однофайлового резервного копирования apply-log обычно выполняется как часть copy-back-and-apply-log. Для директивных резервных копий команда copy-back-and-apply-log может также использоваться, но у вас также есть две альтернативы:

mysqlbackup [STD-OPTIONS]
[--limit-memory=MB]
[--uncompress]
[--backup-dir=PATH]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTED-INNODB-OPTIONS]
apply-log

apply-log

Дополнительно: получает таблицы InnoDB в директивной актуальной резервной копии, включая любые изменения, внесенные в данные, в то время как резервная копия создавалась.

Пример 19.1. Применение журнала к полному резервному копированию

mysqlbackup --backup-dir=/path/to/backup apply-log

Это читает файл backup-my.cnf в backup-dir, чтобы понять резервную копию. Файлы my.cnf по умолчанию не имеют никакого эффекта кроме поставки значения limit-memory=MB, которое ограничивает использование памяти, делая apply-log.

Apply-incremental-backup

Дополнительно: примените apply-incremental-backup, чтобы обновить резервный каталог с данными в каталоге инкрементного резервного копирования:

mysqlbackup [STD-OPTIONS]
[--incremental-backup-dir=PATH]
[--backup-dir=PATH]
[--limit-memory=MB]
[--uncompress]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTED-INNODB-OPTIONS]
apply-incremental-backup

apply-incremental-backup

Дополнительно: получает актуальную директивную резервную копию, определенную с --backup-dir, используя данные из каталога инкрементного резервного копирования, определенного опцией --incremental-backup-dir. См. раздел 5.1.3.

Для инкрементного резервного копирования вы, как правило, используете copy-back-and-apply-log (с опцией --incremental для MySQL Enterprise Backup 8.0.20 и ранее), чтобы применить данные в образе возрастающего резервного копирования к полному резервному копированию, которое уже восстановлено в каталог данных целевого сервера.

19.3. Операции восстановления

Операции восстановления восстанавливают файлы данных от резервной копии до их исходных местоположений на сервере базы данных или к другим желаемым местоположениям. Обычно процесс восстановления требует, чтобы сервер базы данных был уже закрыт (или по крайней мере не воздействовал на каталог, в который вы вернули данные), за исключением частичного восстановления. Опция datadir должна быть определена в файле, определенном опцией --defaults-file или как параметр командной строки. Для примеров использования см. главу 5.

mysqlbackup [STD-OPTIONS]
[SERVER-REPOSITORY-OPTIONS]
[--backup-image=IMAGE]
[--backup-dir=PATH]
[--uncompress]
[MESSAGE-LOGGING-OPTIONS]
[PARTIAL-BACKUP-RESTORE-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTION-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
[ENCRYPTED-INNODB-OPTIONS]
copy-back-and-apply-log
mysqlbackup [STD-OPTIONS]
[SERVER-REPOSITORY-OPTIONS]
[--backup-dir=PATH]
[--uncompress]
[MESSAGE-LOGGING-OPTIONS]
[PARTIAL-BACKUP-RESTORE-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
[ENCRYPTED-INNODB-OPTIONS]
copy-back

Восстанавливая сервер для цели репликации, если поддержанный сервер использовал innodb_undo_directory, чтобы поместить журнал отмен за пределами каталога данных, используя файл server-my.cnf или server-all.cnf для --defaults-file с copy-back или copy-back-and-apply-log, нужно соблюдать осторожность, чтобы сформировать правильно опцию innodb_undo_directory в файле. Иначе файлы данных или файлы журнала на оригинальном сервере могли бы быть переписаны случайно.

19.4. Операции по проверке

Чтобы гарантировать целостность данных резервного копирования, MySQL Enterprise Backup обеспечивает команду validate для проверки резервной копии значениями контрольных сумм ее страниц данных.

mysqlbackup [STD-OPTIONS]
[--backup-dir=PATH]
[--backup-image=IMAGE]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
validate

validate

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

Чтобы избежать тратить чрезмерное время и ресурсы на файлы, которые испорчены слишком в большой степени, mysqlbackup прекращает проверять .ibd-файл после того как в нем найдены больше, чем двадцать испорченных страниц, и переходит к следующему файлу. В этом случае резюме операции не даст полного количества испорченных страниц, а только говорит, что по крайней мере 20 страниц испорчены.

У операции также есть следующие ограничения:

Вот типовая команда для утверждения образа резервной копии:

mysqlbackup -uroot --backup-image=/logs/fullimage.mivalidate

Дополнительно: Вот типовая команда для утверждения резервного каталога:

mysqlbackup -uroot --backup-dir=/logs/backupext validate

Для большего количества примеров использования validate см. раздел 4.2.3.

19.5. Другие операции однофайлового резервного копирования

Помимо команд для создания и восстановления однофайлового резервного копирования (а именно, backup-to-image и copy-back-and-apply-log), mysqlbackup предоставляет вам много других команд, чтобы работать с резервным копированием файлов. Они объяснены ниже.

mysqlbackup [STD-OPTIONS]
[--backup-image=IMAGE]
[--backup-dir=PATH]
[--src-entry=PATH]
[--dst-entry=PATH]
[--uncompress]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTION-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
image-to-backup-dir

mysqlbackup [STD-OPTIONS]
[--backup-dir=PATH]
[--backup-image=IMAGE]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTION-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
backup-dir-to-image

mysqlbackup [STD-OPTIONS]
[--backup-image=IMAGE]
[MESSAGE-LOGGING-OPTIONS]
[ENCRYPTION-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
list-image

mysqlbackup [STD-OPTIONS]
[--backup-image=IMAGE]
[--backup-dir=PATH]
[--src-entry=PATH]
[--dst-entry=PATH]
[--uncompress]
[MESSAGE-LOGGING-OPTIONS]
[PROGRESS-REPORT-OPTIONS]
[ENCRYPTION-OPTIONS]
[CLOUD-STORAGE-OPTIONS]
extract

19.6. Другие операции

Эта группа операций состоит из любых команд mysqlbackup, не покрытых другими разделами этой главы.

mysqlbackup 
--error-code=CODE
print-message

print-message

Печатает связанное выходное сообщение для кода выхода mysqlbackup в stdout.

Используйте Use the --error-code, чтобы поставлять код выхода, для которого вы хотите получить связанное выходное сообщение:

$ mysqlbackup print-message --error-code=4 2> /dev/null
One of the required files not found

Для списка кодов выхода и сообщений mysqlbackup посмотрите раздел 17.1.