Это команды для основных операций mysqlbackup . Только одна из них может быть определена для каждого вызова mysqlbackup и, в отличие от опций команды, названию команды не предшествуют никакие тире.
У каждой из этих команд есть свой собственный набор необходимых или
позволенных вариантов команды. Например, команда backup
, как
правило, запрашивает информацию о связи с сервером базы данных.
и другие команды, которые воздействуют на
данные резервного копирования после того, как это производится, требуют
вариантов, которые определяют, где данные
резервного копирования расположены.apply-log
Главные группы команд:
Операции резервного копирования:
backup
,
backup-and-apply-log
,
backup-to-image
.
Операции по обновлению:
apply-log
,
apply-incremental-backup
.
Операции восстановления:
copy-back
,
copy-back-and-apply-log
.
Операция по проверке:
validate
.
Операции однофайлового резервного копирования:
image-to-backup-dir
,
backup-dir-to-image
,
list-image
,
extract
.
Операции резервного копирования наиболее часто выполняемые задачи
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
Производит однофайловое резервное копирование, содержащее данные
резервного копирования. В большинстве случаев однофайловое резервное
копирование предпочтено директивному резервному копированию, которое
создается, используя команду
backup
.
Команда требует опции
--backup-image
,
чтобы определить файл назначения. Может использоваться, чтобы передать
резервную копию устройству хранения данных или другой системе, не храня
данные на сервере базы данных. Можно определить
--backup-image=-
, представление стандартного вывода, позволяя выводу
быть перекачанным по каналу к другой команде. Чтобы избежать смешения
нормальных информационных сообщений с резервным выводом, ошибки,
предупреждения и нормальные информационные сообщения всегда печатаются к
стандартному потоку сообщений об ошибках.
Кроме тех случаев, когда образ резервной копии транслируется с помощью
--backup-image=-
, если
--backup-image
не дает имя полного пути,
mysqlbackup на самом деле возьмет зачение
--backup-image
как путь относительно местоположения, определенного
--backup-dir
,
если --with-timestamp
также используется, образ резервной копии тогда сохраняется в
подкаталоге, созданном под каталогом, заданным
--backup-dir
,
который имеет метку времени в имени.
Команда также требует использования
--backup-dir
,
чтобы поставлять временный каталог, чтобы хранить метаданные резервных копий
(включая сообщения mysqlbackup,
начало и конец LSN и т.д.)
и некоторый временный вывод.
Резервирует данные к каталогу. В большинстве случаев однофайловое резервное
копирование, которое создается, используя
backup-to-image
, предпочтительней.
Команда только выполняет начальную фазу полного процесса резервного
копирования. Вторая фаза выполняется позже, запуская
mysqlbackup с командой
apply-log
,
которая делает резервную копию последовательной.
Сочетание backup
и
apply-log
.
Это не может использоваться для инкрементного резервного копирования.
Есть два типа операций, чтобы получить ваши актуальные данные резервного копирования:
После того, как задание резервного копирования было закончено, данные
резервного копирования не могли бы быть в последовательном состоянии
потому, что данные, возможно, были вставлены, обновлены или удалены в то
время, как резервная копия создавалась. Этот начальный резервный файл
известен как сырая резервная копия
. Во время изготовления резервной копии
mysqlbackup также копирует накопленный
журнал InnoDB к файлу, названному ibbackup_logfile
.
В операции apply-log файл ibbackup_logfile
используется, чтобы
продвинуть вперед файлы необработанных данных,
чтобы каждая страница в файлах данных соответствовала тому же самому
порядковому номеру в журнале InnoDB. Это подобно операции, которая происходит
во время
восстановления сбоя.
Для однофайлового резервного копирования apply-log
обычно выполняется как часть
copy-back-and-apply-log
.
Для директивных резервных копий команда
copy-back-and-apply-log
может также использоваться, но у вас
также есть две альтернативы:
Выполнение операции apply-log вместе с резервированием, используя
backup-and-apply-log
(неприменимо для возрастающих или
сжатых директивных резервных копий).
Выполнение операции отдельно от команды
apply-log
на сырой резервной копии прежде, чем выполнить
copy-back
.
mysqlbackup [STD-OPTIONS] [--limit-memory
=MB
] [--uncompress
] [--backup-dir
=PATH
] [MESSAGE-LOGGING-OPTIONS] [PROGRESS-REPORT-OPTIONS] [ENCRYPTED-INNODB-OPTIONS]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
, чтобы обновить резервный каталог
с данными в каталоге инкрементного резервного копирования:
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
Дополнительно: получает актуальную
директивную резервную копию, определенную с
--backup-dir
,
используя данные из каталога инкрементного резервного копирования,
определенного опцией
--incremental-backup-dir
. См.
раздел 5.1.3.
Для инкрементного резервного копирования вы, как правило, используете
copy-back-and-apply-log
(с опцией
--incremental
для MySQL Enterprise Backup 8.0.20 и ранее), чтобы применить данные в образе
возрастающего резервного копирования к полному резервному копированию,
которое уже восстановлено в каталог данных целевого сервера.
Операции восстановления восстанавливают файлы данных от резервной копии до
их исходных местоположений на сервере базы данных или к другим желаемым
местоположениям. Обычно процесс восстановления требует, чтобы сервер базы
данных был уже закрыт (или по крайней мере не воздействовал на каталог,
в который вы вернули данные), за исключением
частичного восстановления.
Опция 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
В единственном шаге восстанавливает
однофайловое резервное
копирование, определенное
--backup-image
или резервную копию из каталога, определенного
--backup-dir
к каталогу данных сервера и применяет операцию
apply-log
к восстановленным данным, чтобы принести им актуальность.
В сравнении с многоступенчатым подходом для восстановления
однофайлового резервного
копирования файлов (который, как правило, состоит из выполнения
последовательных шагов extract,
uncompress,
apply-log и
copy-back
для восстановления сжатого образа или
extract
,apply-log и
copy-back
для несжатого образа), команда заставляет восстановление работать более
просто и быстро, а также экономит требуемое дисковое пространство.
Следующее это некоторые особые требования для использования различных
видов резервного восстановления через
copy-back-and-apply-log
:
MySQL Enterprise Backup 8.0.20 и ранее:
чтобы восстановить сжатый каталог или образ, включайте опцию
--uncompress
в командной строке (больше не требуется для
MySQL Enterprise Backup 8.0.21 и выше).
Чтобы восстановить однофайловое резервное копирование,
помимо определения местоположения образа резервной копии с
--backup-image
, также поставляйте через
--backup-dir
местоположение каталога, который будет
использоваться для того, чтобы хранить временные файлы, произведенные во
время процесса восстановления.
Чтобы восстановить однофайловое инкрементное резервное копирование принимая, что полное резервное копирование (на котором базировалось инкрементное резервное копирование) было уже восстановлено:
MySQL Enterprise Backup 8.0.20 и
ранее: включите опцию
--incremental
в командную строку (больше не требуется для
MySQL Enterprise Backup 8.0.21 и выше).
MySQL Enterprise Backup 8.0.20 и
ранее: включите опцию
--uncompress
в командную строку, если инкрементное резервное копирование было создано с
--compress
(больше не требуется для MySQL Enterprise Backup 8.0.21 и выше).
Определите местоположение образа инкрементного резервного копирования
с опцией
--backup-image
.
Предоставьте с помощью опции
--backup-dir
местоположение каталога, который будет использоваться для того, чтобы хранить
временные файлы, произведенные во время процесса восстановления.
Дополнительно: чтобы восстановить каталог инкрементного резервного копирования принимая, что полное резервное копирование (на котором базировалось инкрементное резервное копирование) было уже восстановлено:
MySQL Enterprise Backup 8.0.20 и
ранее: включите опцию
--incremental
в командную строку (больше не требуется для
MySQL Enterprise Backup 8.0.21 и выше).
Используйте
--backup-dir
или
--incremental-backup-dir
, чтобы
определить каталог инкрементного резервного копирования.
Чтобы восстановить выбранные таблицы:
Посмотрите общие требования, описанные в разделе 5.1.4.
Когда выполняется восстановление однофайлового
резервного копирования, созданного с опцией
--use-tts=with-minimum-locking
, каталога, определенный в
--backup-dir
, также используется для извлечения временно всех
таблиц в резервной копии и для выполнения
apply-log
,
чтобы сделать данные актуальными прежде, чем вернуть их в
каталог данных сервера.
Дополнительно:
При восстановлении резервного каталога, созданного с опцией
--use-tts=with-minimum-locking
,
apply-log
будет выполнена на резервном каталоге. Это означает, что взятая резервная
копия будет изменена во время процесса, и пользователи могли бы хотеть
сделать дополнительную копию резервного каталога перед продолжением
восстановления, чтобы предотвратить потерю данных резервного копирования в
случае, если что-то пойдет в раскосец.
Также отметьте, что:
Резервные копии, созданные с
--skip-unused-pages
, не могут быть восстановлены, используя
copy-back-and-apply-log
.
В конце
copy-back-and-apply-log
файл
backup_variables.txt
создается или обновляется
в каталоге данных. Этот файл содержит метаданные о восстановленном содержании
и используется одноступенчатым последовательным восстановлением возрастающих
резервных копий, это не должно быть удалено или изменено пользователями.
Некоторые образцы команды для восстановления различных видов резервных
копий с
copy-back-and-apply-log
см. в
разделе 5.1.
Восстанавливает файлы от директивной резервной копии до их исходных местоположений на сервере MySQL.
Прежде, чем восстановить горячее
резервное копирование, используя команду
copy-back
,
резервная копия должна быть
подготовлена и сделана последовательной использованием команды
apply-log
.
См. раздел 5.1.7.
Можно также применить
apply-log
и
copy-back
с командой
copy-back-and-apply-log
.
Некоторые усилия по очистке на целевом каталоге для восстановления могли бы быть необходимы прежде, чем применить полное восстановление (например, когда данные резервного копирования используются, чтобы настроить новый сервер MySQL или заменить все данные существующего сервера MySQL). Посмотрите обсуждения здесь.
Есть некоторые особые требования, когда восстановление выбрало таблицы из резервных копий, посмотрите раздел 5.1.4 .
Восстанавливая сервер для цели репликации,
если поддержанный сервер использовал
innodb_undo_directory
, чтобы
поместить журнал отмен за пределами каталога данных, используя файл
server-my.cnf
или
server-all.cnf
для
--defaults-file
с
copy-back
или
copy-back-and-apply-log
,
нужно соблюдать осторожность, чтобы сформировать правильно опцию
innodb_undo_directory
в файле. Иначе файлы данных или файлы
журнала на оригинальном сервере могли бы быть переписаны случайно.
Чтобы гарантировать целостность данных резервного копирования, MySQL
Enterprise Backup обеспечивает команду
validate
для
проверки резервной копии значениями контрольных сумм ее страниц данных.
mysqlbackup [STD-OPTIONS] [--backup-dir
=PATH
] [--backup-image
=IMAGE
] [MESSAGE-LOGGING-OPTIONS] [PROGRESS-REPORT-OPTIONS] [CLOUD-STORAGE-OPTIONS]validate
Проверяет, что резервная копия не испорчена, не усечена или повреждена. Эта операция проверяет значение контрольной суммы для каждой страницы данных в резервной копии.
Чтобы избежать тратить чрезмерное время и ресурсы на файлы, которые испорчены слишком в большой степени, mysqlbackup прекращает проверять .ibd-файл после того как в нем найдены больше, чем двадцать испорченных страниц, и переходит к следующему файлу. В этом случае резюме операции не даст полного количества испорченных страниц, а только говорит, что по крайней мере 20 страниц испорчены.
У операции также есть следующие ограничения:
Если любые файлы .ibd
или .sdi
отсутствуют в каталоге данных во время
создания резервной копии или были удалены из резервной копии после того, как
резервная копия была сделана, операция validate
не будет в состоянии обнаружить проблему.
Если резервная копия была испорчена, удаляя или усекая страницы от
какого-либо из .ibd-файлов внутри, validate
не будет в состоянии обнаружить проблему.
Для любого резервного каталога операция может только проверить
файлы данных InnoDB (ibdata*
и
*.ibd
) в нем. Проблемы с другими типами файлов
в рамках резервного каталога (например, повреждение файла
.sdi
) не обнаружены.
MySQL Enterprise Backup 8.0.20 и ранее:
Во время операции
validate
, если mysqlbackup
сталкивается с зашифрованным табличным пространством InnoDB, это выпускает
предупреждение и затем перескакивает через них.
Вот типовая команда для утверждения образа резервной копии:
mysqlbackup -uroot --backup-image=/logs/fullimage.mivalidate
Дополнительно: Вот типовая команда для утверждения резервного каталога:
mysqlbackup -uroot --backup-dir=/logs/backupext validate
Для большего количества примеров использования
validate
см.
раздел 4.2.3.
Помимо команд для создания и восстановления однофайлового резервного
копирования (а именно,
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
MySQL Enterprise Backup 8.0.18 и выше:
Это псевдоним для команды
extract
, см. описание
extract
.
MySQL Enterprise Backup 8.0.17 и ранее : Распаковывает резервное копирование в структуру каталогов полного резервного копирования. Вы определяете пути к файлу образа и к каталогу назначения для распаковки. Для примеров использования посмотрите раздел 4.3.1.
image-to-backup-dir
только создает
сырой резервный каталог,
который не готов быть восстановленным
by the copy-back
.
Чтобы стать подготовленной
резервной копией, резервный каталог должен пройти операцию
apply-log, выполняемую
автономной командой apply-log
или же как часть команды
copy-back-and-apply-log
.
Упаковывает существующий резервный каталог в единственный файл.
Значение параметра --backup-image
должно быть
-
(обозначает стандартный вывод) или
абсолютным путем за пределами каталога backup-dir
.
Определите
--backup-image
как -
(стандартный вывод), чтобы
транслировать существующую резервную структуру каталогов к накопителю на
магнитной ленте или команде, которая передает резервную копию другому
серверу. Для примеров использования посмотрите
раздел 4.3.1.
Отображает содержание однофайлового резервного копирования. Для примеров использования посмотрите раздел 4.3.1.
list-image
может быть выполнена на облачной резервной копии, только если
облако поддерживает заголовки диапазона HTTP.
Распаковывает отдельные файлы или каталоги от однофайлового
резервного копирования. Это полезно для поиска неисправностей или для
восстановлений, которые не требуют полного набора данных резервного
копирования. Получающийся файл или каталог входит в текущий каталог или в
резервный каталог,
если определен с
--backup-dir
, в любом случае каталог назначения должен быть
пустым. Для примеров использования посмотрите
раздел 4.3.1.
Опция
--src-entry=
может использоваться для выборчного извлечения файлов или каталогов, пути
которых в образе содержат string
string
,
определенную этой опцией.
Некоторые пункты всегда извлекаются из резервной копии,
см. описание
--src-entry
.
Опция в настоящее время не поддерживается для извлечения облачных резервных копий, которые могут быть извлечены только полностью.
Если вы хотите извлечь данные только из определенных каталогов (например,
datadir/meta
), добавьте слэш в конце значения опции
(--src-entry=
), иначе любой файл или каталог в резервной копии, который
содержит значение в пути (включая, например,
meta/
datadir/pets/metabolism.ibd
),
будет также извлечен.
Опция
--dst-entry=
наряду с path
--src-entry=
может использоваться, чтобы извлечь файлы или каталоги в определенные
пользователями местоположения, см. описание возможности для деталей.path
MySQL Enterprise Backup 8.0.18 и выше:
Используйте
--uncompress
, чтобы извлечь файлы из сжатого однофайлового
резервного копирования (опция --uncompress
не требуется для
MySQL Enterprise Backup 8.0.21 и выше,
когда используется
--src-entry
).
Место назначения по умолчанию для извлечения:
текущий рабочий каталог. Все файлы с относительными путями
извлечены к путям относительно каталога назначения. Если образ содержит
некоторые записи с абсолютными путями, те записи извлечены к тем же самым
абсолютным путям на местной системе, даже если указана опция
--backup-dir
. Опция
--dst-entry
должна использоваться, чтобы переместить
абсолютный путь, посмотрите
пример 4.12.
Даже со всеми файлами, извлеченными из образа резервной копии,
extract
только создает сырой резервный
каталог, который не готов быть восстановленным командой
copy-back
.
Чтобы стать подготовленной
резервной копией, резервный каталог должен пройти операцию
apply-log, выполняемую
командой apply-log
или же как часть команды
copy-back-and-apply-log
.
Эта группа операций состоит из любых команд mysqlbackup, не покрытых другими разделами этой главы.
mysqlbackup--error-code
=CODE
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.