RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 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
  • backup-to-image

    Производит однофайловое резервное копирование, содержащее данные резервного копирования. В большинстве случаев однофайловое резервное копирование предпочтено директивному резервному копированию, которое создается, используя команду backup.

    Команда требует опции --backup-image, чтобы определить файл назначения. Может использоваться, чтобы передать резервную копию устройству хранения данных или другой системе, не храня данные на сервере базы данных. Можно определить --backup-image=- , представление стандартного вывода, позволяя выводу быть перекачанным по каналу к другой команде. Чтобы избежать смешения нормальных информационных сообщений с резервным выводом, ошибки, предупреждения и нормальные информационные сообщения всегда печатаются к стандартному потоку сообщений об ошибках.

    Кроме тех случаев, когда образ резервной копии транслируется с помощью --backup-image=- , если --backup-image не дает имя полного пути, mysqlbackup на самом деле возьмет зачение --backup-image как путь относительно местоположения, определенного --backup-dir, если --with-timestamp также используется, образ резервной копии тогда сохраняется в подкаталоге, созданном под каталогом, заданным --backup-dir, который имеет метку времени в имени.

    Команда также требует использования --backup-dir, чтобы поставлять временный каталог, чтобы хранить метаданные резервных копий (включая сообщения mysqlbackup, начало и конец LSN и т.д.) и некоторый временный вывод.

  • backup

    Резервирует данные к каталогу. В большинстве случаев однофайловое резервное копирование, которое создается, используя backup-to-image, предпочтительней.

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

  • backup-and-apply-log

    Сочетание backup и 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 может также использоваться, но у вас также есть две альтернативы:

  • Выполнение операции 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

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
  • copy-back-and-apply-log

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

    Также отметьте, что:

    В конце copy-back-and-apply-log файл backup_variables.txt создается или обновляется в каталоге данных. Этот файл содержит метаданные о восстановленном содержании и используется одноступенчатым последовательным восстановлением возрастающих резервных копий, это не должно быть удалено или изменено пользователями.

    Некоторые образцы команды для восстановления различных видов резервных копий с copy-back-and-apply-log см. в разделе 5.1.

  • copy-back

    Восстанавливает файлы от директивной резервной копии до их исходных местоположений на сервере 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 в файле. Иначе файлы данных или файлы журнала на оригинальном сервере могли бы быть переписаны случайно.

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 страниц испорчены.

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

  • Если любые файлы .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.

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
  • image-to-backup-dir

    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-dir-to-image

    Упаковывает существующий резервный каталог в единственный файл. Значение параметра --backup-image должно быть - (обозначает стандартный вывод) или абсолютным путем за пределами каталога backup-dir. Определите --backup-image как - (стандартный вывод), чтобы транслировать существующую резервную структуру каталогов к накопителю на магнитной ленте или команде, которая передает резервную копию другому серверу. Для примеров использования посмотрите раздел 4.3.1.

  • list-image

    Отображает содержание однофайлового резервного копирования. Для примеров использования посмотрите раздел 4.3.1.

    list-image может быть выполнена на облачной резервной копии, только если облако поддерживает заголовки диапазона HTTP.

  • extract

    Распаковывает отдельные файлы или каталоги от однофайлового резервного копирования. Это полезно для поиска неисправностей или для восстановлений, которые не требуют полного набора данных резервного копирования. Получающийся файл или каталог входит в текущий каталог или в резервный каталог, если определен с --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.

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.

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru