Spec-Zone.ru › MySQL Enterprise Backup 4.1

16.8 Параметры частичного резервного копирования и восстановления

Примечание

С MySQL Enterprise Backup 3.10 были введены два параметра --include-tables и --exclude-tables. Они предназначены для замены устаревших параметров --include, --databases, --databases-list-file и --only-innodb-with-frm, которые несовместимы с новыми параметрами и будут устаревшими в будущих выпусках. Для справок мы включили информацию об устаревших параметрах в конце этого раздела в Устаревшие параметры частичного резервного копирования.

Для выбора определённых данных для резервного копирования или восстановления используйте параметры частичного резервного копирования и восстановления, описанные в этом разделе.

Обзор частичного резервного копирования и примеры использования следующих параметров см. в разделе 4.3.5, «Создание частичного резервного копирования». Также см. раздел 5.1.4, «Восстановление резервных копий, созданных с параметром --use-tts», посвящённый выборочному восстановлению таблиц из резервной копии.

  • --include-tables=REGEXP

    Формат командной строки --include-tables=REGEXP
    Тип Строка

    Включает для резервного копирования или восстановления только те таблицы (InnoDB и не-InnoDB), полные имена которых (в формате db_name.table_name) соответствуют регулярному выражению REGEXP. Используется синтаксис регулярных выражений в расширенной форме, указанной в стандарте POSIX 1003.2. Например, --include-tables=^mydb\.t[12]$ соответствует таблицам t1 и t2 в базе данных mydb. В системах Unix-подобных систем, заключите регулярное выражение в кавычки, чтобы предотвратить интерпретацию символов оболочки. mysqlbackup выдаёт ошибку, если этот параметр используется без указания регулярного выражения.

    Хотя mysqlbackup понимает MySQL-конвенцию по присвоению кавычек (обратных кавычек) имени базы данных или имени таблицы (или обоим), нет необходимости включать обратные кавычки в регулярное выражение для --include-tables.

    Для операции резервного копирования mysqlbackup выдает ошибку, если ни одна таблица не соответствует указанному регулярному выражению с помощью параметра --include-tables.

    Несмотря на то, что этот параметр может быть использован для различных типов резервных копий, выборочное восстановление поддерживается только для резервных копий, созданных с использованием (то есть, резервных копий, созданных с параметром --use-tts). Этот параметр также может использоваться с командами backup-dir-to-image и image-to-backup-dir для выбора таблиц при создании или распаковке образа резервной копии.

    Этот параметр не может использоваться совместно с устаревшими параметрами --include, --databases, --databases-list-file или --only-innodb-with-frm.

    При совместном использовании с параметром --exclude-tables, параметр --include-tables применяется в первую очередь, то есть mysqlbackup сначала выбирает все таблицы, указанные параметром --include-tables, а затем исключает из набора те таблицы, которые указаны в параметре --exclude-tables.

  • --exclude-tables=REGEXP

    Формат командной строки --exclude-tables=REGEXP
    Тип Строка

    Исключает для резервного копирования или восстановления все таблицы (InnoDB и не-InnoDB), полные имена которых (в формате db_name.table_name) соответствуют регулярному выражению REGEXP. Синаксис регулярных выражений — расширенный формат, указанный в стандарте POSIX 1003.2. Например, --exclude-tables=^mydb\.t[12]$ соответствует таблицам t1 и t2 в базе данных mydb. В системах Unix-подобных систем, заключите регулярное выражение в кавычки, чтобы предотвратить интерпретацию символов оболочки. mysqlbackup выдаёт ошибку, если этот параметр используется без указания регулярного выражения.

    Хотя mysqlbackup понимает MySQL-конвенцию по присвоению кавычек (обратных кавычек) имени базы данных или имени таблицы (или обоим), нет необходимости включать обратные кавычки в регулярное выражение для --exclude-tables.

    Несмотря на то, что этот параметр может быть использован для различных типов резервных копий, выборочное восстановление поддерживается только для резервных копий, созданных с использованием (то есть, резервных копий, созданных с параметром --use-tts). Этот параметр также может использоваться с командами backup-dir-to-image и image-to-backup-dir для выбора таблиц при создании или распаковке образа резервной копии.

    Этот параметр не может использоваться совместно с параметрами --include, --databases, --databases-list-file или --only-innodb-with-frm.

    При совместном использовании с параметром --include-tables, параметр --include-tables применяется в первую очередь, то есть mysqlbackup сначала выбирает все таблицы, указанные параметром --include-tables, а затем исключает из набора те таблицы, которые указаны в параметре --exclude-tables.

  • --only-known-file-types

    Только для резервного копирования. По умолчанию, все файлы в поддиректориях базы данных в каталоге данных сервера включаются в резервную копию (см. таблицу 1.1, «Типы файлов в резервной копии» для получения подробной информации). Если указан параметр --only-known-file-types, mysqlbackup копирует только файлы, которые являются файлами данных для MySQL или встроенных хранилищ данных, которые, помимо файлов ibdata*, имеют следующие расширения:

    • .ARM: метаданные таблицы ARCHIVE

    • .ARZ: данные таблицы ARCHIVE

    • .CSM: метаданные таблицы CSV

    • .CSV: данные таблицы CSV

    • .frm: определения таблиц

    • .ibd: файлы InnoDB табличного пространства, созданные в режиме файла на таблицу

    • .MRG: ссылки хранилища Merge на другие таблицы

    • .MYD: данные MyISAM

    • .MYI: индексы MyISAM

    • .opt: информация о конфигурации базы данных

    • .par: определения разделов

    • .TRG: параметры триггеров

    • .TRN: информация о пространстве имён триггеров

  • --only-innodb

    Только для резервного копирования. При использовании этого параметра в резервную копию включаются только данные и файлы журналов InnoDB, а все файлы, созданные другими движками хранилищ, исключаются. Обычно используется, когда нет возможности подключиться к mysqld или когда нет необходимости копировать файлы MyISAM.

    Параметр несовместим с параметром --slave-info.

  • --use-tts[={with-minimum-locking|with-full-locking}]

    Формат командной строки --use-tts[={with-minimum-locking|with-full-locking}]
    Тип Перечисление
    Значение по умолчанию with-minimum-locking
    Допустимые значения

    with-minimum-locking

    with-full-locking

    Включить выборочное резервное копирование таблиц InnoDB с помощью . Это используется совместно с параметрами --include-tables и --exclude-tables для выбора таблиц InnoDB, подлежащих резервному копированию, с помощью регулярных выражений. Использование для резервного копирования предоставляет следующие преимущества:

    • Резервные копии могут быть восстановлены на другой сервер

    • не резервируется, что экономит дисковое пространство и ресурсы ввода-вывода

    • Управление согласованностью данных таблиц осуществляется MySQL Enterprise Backup

    Однако, параметр имеет следующие ограничения:

    • Резервное копирование и восстановление разнесенных таблиц поддерживаются только для MySQL 5.7.4 и более поздних версий. Кроме того, отдельные разделы не могут быть выборочно резервированы или восстановлены. Таблицы, выбранные с помощью параметров --include-tables и --exclude-tables, всегда резервируются или восстанавливаются полностью.

    • Может резервировать только таблицы, хранящиеся в собственных отдельных табличных пространствах (то есть таблицы, созданные с включенным параметром )

    • Таблицы, не являющиеся InnoDB, не резервируются

    • Для MySQL Enterprise Backup 4.1.4 и более ранних версий: Для частичных резервных копий зашифрованные таблицы InnoDB никогда не включаются (в файле журнала выводится предупреждение всякий раз, когда зашифрованная таблица InnoDB, соответствующая критериям выбора таблицы, была пропущена).

    • Не может использоваться для инкрементных резервных копий

    • Не включает двоичный журнал или журнал пересылки в резервную копию

    См. также Приложение B, Ограничения MySQL Enterprise Backup для некоторых дополнительных ограничений.

    Существуют два возможных значения для параметра:

    • with-minimum-locking: Горячие копии выбранных таблиц резервируются, а затем таблицы блокируются в режиме только для чтения, в то время как (только часть, содержащая соответствующие изменения, внесенные после горячего резервного копирования) включается в резервную копию. Любые таблицы, созданные во время фазы блокировки, игнорируются.

    • with-full-locking: Выбранные таблицы блокируются в режиме только для чтения во время резервного копирования. не включается в резервную копию. Любые таблицы, созданные во время фазы блокировки, игнорируются.

      Примечание

      Из-за известной проблемы при создании резервной копии с помощью TTS для сервера, содержащего таблицы со смешанными форматами файлов Antelope и Barracuda, НЕ применяйте полную блокировку на таблицах.

    По умолчанию: with-minimum-locking

    Для использования параметра --use-tts требуется дополнительные привилегии для пользователя, через которого mysqlbackup подключается к серверу; см. Раздел 4.1.2, “Предоставление привилегий MySQL администратору резервного копирования” для получения подробной информации.

    Существуют некоторые особые требования к восстановлению резервных копий, созданных с параметром --use-tts; см. Раздел 5.1.4, “Восстановление резервных копий, созданных с параметром --use-tts” для получения подробной информации.

  • --rename=“old_table_name to new_table_name”

    Переименовать отдельную таблицу при ее восстановлении в базу данных из резервной копии, созданной с помощью параметра --use-tts. Таблица с именем old_table_name переименовывается в new_table_name. Обратите внимание, что при использовании параметра:

    • old_table_name и new_table_name могут быть полностью квалифицированы (содержать имена баз данных в формате db_name.tb_name) или нет. Регулярные выражения для old_table_name и new_table_name не принимаются. Восстановление завершается ошибкой, если old_table_name не соответствует ни одной таблице, подлежащей восстановлению, или когда new_table_name уже существует в целевой базе данных.

    • Для MySQL Enterprise Backup 4.1.4 и более ранних версий: Параметр --include-tables или --exclude-tables (или оба вместе) должен быть использован в команде восстановления для работы параметра --rename, если в резервной копии только одна таблица. Кроме того, параметр --include-tables или --exclude-tables (или оба вместе) должен указывать одну и только одну таблицу для восстановления при использовании --rename, в противном случае восстановление завершится ошибкой.

    • Для MySQL Enterprise Backup 4.1.4 и более ранних версий: Восстановление завершается ошибкой, если old_table_name не соответствует таблице, указанной с помощью параметра --include-tables или --exclude-tables (или обоих вместе).

    • Применимы требования, описанные в Разделе 5.1.4, “Восстановление резервных копий, созданных с параметром --use-tts”.

    См. Раздел 5.1.4, “Восстановление резервных копий, созданных с параметром --use-tts” для получения дополнительной информации о выборочных операциях восстановления и примере переименования таблиц.

Параметры резервного копирования частичных данных (старые)

Важно

Информация в этом подразделе относится только к использованию устаревших параметров --include, --databases, --databases-list-file и --only-innodb-with-frm, которые будут устаревшими в будущих версиях. Для создания частичных резервных копий настоятельно рекомендуется использовать новые параметры --include-tables и --exclude-tables. Обратите внимание, что вы не можете объединять устаревшие и новые параметры частичного резервного копирования в одной команде.

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

Обзор частичных резервных копий и примеры использования этих устаревших параметров см. в Создание частичной резервной копии с использованием устаревших параметров.

  • --include=REGEXP

    Этот параметр предназначен для фильтрации таблиц InnoDB при создании резервной копии. Полные имена таблиц InnoDB проверяются на соответствие регулярному выражению, указанному в параметре. Если выражение REGEXP соответствует db_name.table_name, таблица включается. Используется синтаксис регулярных выражений расширенной формы, указанный в стандарте POSIX 1003.2. Например, --include=mydb\.t[12] соответствует таблицам t1 и t2 в базе данных mydb. mysqlbackup выводит ошибку, если этот параметр используется без указания регулярного выражения.

    Этот параметр применяется только к таблицам InnoDB, созданным с включенным параметром MySQL (по умолчанию для MySQL 5.6 и более поздних версий), в этом случае таблицы хранятся в отдельных файлах, которые могут быть включены или исключены из резервной копии. Все таблицы в системном табличном пространстве InnoDB всегда резервируются.

    Если ни одной таблице InnoDB не соответствует заданное регулярное выражение, выводится ошибка с сообщением о том, что соответствий нет.

    По умолчанию: резервируются все таблицы InnoDB.

    Примечание

    Этот параметр не фильтрует таблицы, не являющиеся InnoDB, для которых можно использовать параметры, такие как --databases и --databases-list-file.

    Важно

    Этот параметр не фильтрует файлы .frm, связанные с таблицами InnoDB, что означает, что независимо от значения параметра, все файлы .frm для всех таблиц InnoDB всегда резервируются, если они не исключены другими параметрами. Файлы .frm для таблиц InnoDB, которые не резервируются, должны быть удалены перед восстановлением резервной копии базы данных. Подробности см. в разделе Создание частичной резервной копии с использованием устаревших параметров.

  • --databases=LIST

    Указывает список таблиц, не являющихся InnoDB, для резервного копирования. Аргумент задает список имен баз данных или таблиц, разделенных пробелами, в следующем формате:

    "db_name[.table_name] db_name1[.table_name1] ...".
    

    Если указанные значения не соответствуют никакой базе данных или таблице, файлы данных, не являющиеся InnoDB, не резервируются. Подробности см. в разделе Создание частичной резервной копии с использованием устаревших параметров.

    По умолчанию резервируются все таблицы, не являющиеся InnoDB, из всех баз данных.

    Примечание

    Параметр не оказывает никакого влияния на файлы данных InnoDB (файлы .ibd) для баз данных или таблиц, которые он указывает. Для фильтрации файлов данных InnoDB используйте параметр --include вместо этого.

  • --databases-list-file=PATH

    Указывает путь к файлу, содержащему список таблиц, не являющихся InnoDB, которые должны быть резервированы. Файл содержит записи для баз данных или полных имен таблиц, разделенных символами новой строки или пробелами. Формат записей такой же, как и для параметра --databases:

       db_name[.table_name]
       db_name1[.table_name1]
       ...
    

    Удалите все пробелы вокруг имен баз данных или таблиц, так как они не удаляются автоматически. Начните строку с символа #, чтобы добавить комментарий. Регулярные выражения запрещены.

    Если указанные записи не соответствуют никакой базе данных или таблице, файлы данных, не являющиеся InnoDB, не резервируются.

    Примечание

    Параметр не оказывает никакого влияния на файлы данных InnoDB (файлы .ibd) для баз данных или таблиц, которые он указывает. Для фильтрации файлов данных InnoDB используйте параметр --include вместо этого.

  • --only-innodb-with-frm[={all|related}]

    Резервировать только данные InnoDB, файлы журналов и файлы .frm, связанные с таблицами InnoDB.

    • --only-innodb-with-frm=all включает файлы .frm для всех таблиц InnoDB в резервной копии.

    • --only-innodb-with-frm=related в сочетании с параметром --include копирует только файлы .frm для таблиц, включенных в частичную резервную копию.

    • --only-innodb-with-frm без аргумента эквивалентно --only-innodb-with-frm=related.

    Примечание

    При инкрементных резервных копиях, даже если резервируются только измененные файлы .ibd, файлы .frm, связанные с всеми указанными таблицами InnoDB, включаются.

    Этот параметр избавляет вас от необходимости программировать резервное копирование файлов InnoDB .frm, что обычно выполняется при переведении сервера в режим только для чтения с помощью оператора FLUSH TABLES WITH READ LOCK. Файлы .frm копируются без перевода сервера в режим только для чтения, чтобы операция резервного копирования была непрерывной и не прерывала обработку базы данных. Вы должны убедиться, что во время резервного копирования никакие операторы DDL или другие операторы не изменят файлы .frm для таблиц InnoDB. Если mysqlbackup обнаружит изменения в соответствующих файлах .frm во время резервного копирования, процесс прервётся с ошибкой. Если запретить DDL для таблиц InnoDB во время резервного копирования непрактично, используйте параметр --only-innodb и используйте традиционный метод копирования файлов .frm, пока сервер заблокирован.

    Все файлы, созданные другими хранилищами, исключаются. Обычно используется, когда нет соединения с mysqld или когда нет необходимости копировать файлы MyISAM, например, когда вы уверены, что не происходит никаких изменений DDL во время резервного копирования. Подробные инструкции и примеры см. в разделе Создание частичной резервной копии с использованием устаревших параметров.

    Параметр несовместим с параметром --slave-info.

    По умолчанию: резервные копии включают файлы всех движков хранения.

  • --use-tts[={with-minimum-locking|with-full-locking}]

    Включить выборочное резервное копирование таблиц InnoDB с помощью . Этот параметр следует использовать в сочетании с параметром --include, который выбирает таблицы InnoDB для резервного копирования с помощью регулярного выражения. Использование для резервного копирования предлагает следующие преимущества:

    • Резервные копии можно восстановить на другой сервер

    • Файл не резервируется, что экономит дисковое пространство и ресурсы I/O

    • Согласованность данных таблиц управляется MySQL Enterprise Backup

    См. важные обсуждения здесь ограничений при использовании параметра --use-tts.

    Параметр может принимать два значения:

    • with-minimum-locking: Горячие копии выбранных таблиц резервируются, а затем таблицы блокируются в режиме только для чтения, пока (содержащая только изменения, внесённые после горячего резервного копирования) включается в резервную копию. Любые таблицы, созданные в фазе блокировки, игнорируются.

    • with-full-locking: Выбранные таблицы блокируются в режиме только для чтения во время резервного копирования. не включается в резервную копию. Любые таблицы, созданные в фазе блокировки, игнорируются.

    По умолчанию: резервное копирование с минимальной блокировкой.

    Существуют особые требования к восстановлению резервных копий, созданных с параметром --use-tts; см. объяснения в разделе Раздел 5.1, «Выполнение операции восстановления» для получения подробной информации.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-enterprise-backup-4.1-en/backup-partial-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API