20.8 Опции частичного резервного копирования и восстановления
Для выбора определённых данных для резервного копирования или восстановления используйте опции частичного резервного копирования и восстановления, описанные в этом разделе.
Обзор частичного резервного копирования и восстановления, а также примеры использования следующих опций см. в разделе 4.3.5 «Создание частичной резервной копии» и разделе 5.1.4 «Восстановление на уровне таблиц (TLR)».
-
--include-tables=REGEXPФормат командной строки --include-tables=REGEXPТип Строка Включает в резервное копирование или восстановление только те таблицы (InnoDB и не-InnoDB), полные имена которых (в формате
) соответствуют регулярному выражениюdb_name.table_nameREGEXP. Синтаксис регулярных выражений использует расширенную форму, определённую в стандарте POSIX 1003.2. Например,--include-tables=^mydb\.t[12]$соответствует таблицамt1иt2в базе данныхmydb. В системах Unix-подобных систем необходимо правильно заключить регулярное выражение в кавычки, чтобы предотвратить интерпретацию символов метакоманд оболочки. mysqlbackup выдаёт ошибку, если опция используется без предоставленного регулярного выражения.Хотя mysqlbackup понимает соглашение MySQL о заключении в кавычки имени базы данных или имени таблицы (или обоих) с помощью обратных кавычек (см. ), нет необходимости включать обратные кавычки в регулярное выражение для
--include-tables.Опция также может быть использована с командами
backup-dir-to-imageиimage-to-backup-dirдля выбора таблиц при создании или распаковке резервной копии.mysqlbackup выдает ошибку, если ни одна таблица не соответствует указанному регулярному выражению с помощью опции
--include-tables.При использовании вместе с опцией
--exclude-tables, опция--include-tablesприменяется первой, то есть mysqlbackup сначала выбирает все таблицы, указанные в--include-tables, а затем исключает из этого набора таблицы, указанные в--exclude-tables.Опция не может использоваться вместе со устаревшей опцией
--include. -
--exclude-tables=REGEXPФормат командной строки --exclude-tables=REGEXPТип Строка Исключает из резервного копирования или восстановления все таблицы (InnoDB и не-InnoDB), полные имена которых (в формате
) соответствуют регулярному выражениюdb_name.table_nameREGEXP. Синтаксис регулярных выражений — расширенный, определённый в стандарте POSIX 1003.2. Например,--exclude-tables=^mydb\.t[12]$соответствует таблицамt1иt2в базе данныхmydb. В системах Unix-подобных систем необходимо правильно заключить регулярное выражение в кавычки, чтобы предотвратить интерпретацию символов метакоманд оболочки. mysqlbackup выдаёт ошибку, если опция используется без предоставленного регулярного выражения.Хотя mysqlbackup понимает соглашение MySQL о заключении в кавычки имени базы данных или имени таблицы (или обоих) с помощью обратных кавычек (см. ), нет необходимости включать обратные кавычки в регулярное выражение для
--exclude-tables.Опция также может быть использована с командами
backup-dir-to-imageиimage-to-backup-dirдля выбора таблиц при создании или распаковке резервной копии.Опция не может использоваться вместе со устаревшей опцией
--include.При использовании вместе с опцией
--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.ibd: пространство таблицы InnoDB, созданное в режиме «файл на таблицу».MRG: ссылки движка хранения Merge на другие таблицы.MYD: данные MyISAM.MYI: индексы MyISAM
-
--only-innodbТолько для резервного копирования. Копирует только данные и журналы InnoDB. Все файлы, созданные другими движками хранения, исключаются. Обычно используется, когда нет необходимости копировать файлы MyISAM.
Опция несовместима с опцией
--replica-info.По умолчанию: резервные копии включают файлы всех движков хранения.
-
--use-tts[={with-minimum-locking|with-full-locking}]Формат командной строки --use-tts[={with-minimum-locking|with-full-locking}]Тип Перечисление Значение по умолчанию with-minimum-lockingДопустимые значения with-minimum-lockingwith-full-lockingВключить выборочное резервное копирование таблиц InnoDB с помощью . Это должно использоваться в сочетании с параметрами
--include-tablesи--exclude-tablesдля выбора таблиц InnoDB для резервного копирования с помощью регулярных выражений. Использование для резервных копий предоставляет следующие преимущества:Резервные копии могут быть восстановлены на другой сервер
не копируется, что экономит дисковое пространство и ресурсы ввода-вывода
Согласованность данных таблиц управляется MySQL Enterprise Backup
Однако, у параметра есть следующие ограничения:
Отдельные разделы не могут быть выборочно резервированы или восстановлены. Таблицы, выбранные параметрами
--include-tablesи--exclude-tables, всегда резервируются или восстанавливаются полностью.Возможно резервирование только таблиц, хранящихся в собственных отдельных табличных пространствах (т.е. таблиц, созданных с включенным параметром )
Таблицы, не являющиеся 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.5, «Восстановление резервных копий, созданных с помощью параметра--use-tts» для получения подробной информации. -
--rename=“old_table_nameдоnew_table_name”Переименовать одну таблицу, когда она выбрана параметром
--include-tablesили--exclude-tables(или оба вместе), для восстановления на сервере базы данных из резервной копии, созданной с помощью параметра--use-tts. Таблица с именемold_table_nameпереименовывается вnew_table_name. Обратите внимание, что при использовании параметра:Параметр
--include-tablesили--exclude-tables(или оба вместе) должен быть использован в команде восстановления для работы параметра--rename, если только в резервной копии нет одной таблицы. Кроме того, параметр--include-tablesили--exclude-tables(или оба вместе) должен указать одну и только одну таблицу для восстановления при использовании--rename, иначе восстановление завершится ошибкой.old_table_nameиnew_table_nameмогут быть полными (содержащими имена баз данных в видеold_db_name.old_tb_nameиnew_db_name.new_tb_name) или нет. Используя полные имена таблиц, таблицу можно восстановить в базу данных, отличную от исходной. Если база данных, указанная сnew_db_name, не существует на целевом сервере, она будет создана во время процесса восстановления. Регулярные выражения не принимаются в аргументе параметра.Восстановление завершится ошибкой, если
old_table_nameне соответствует таблице, указанной с помощью параметра--include-tablesили--exclude-tables(или оба вместе), или еслиnew_table_nameуже существует в целевой базе данных.Применяются требования, указанные в Разделе 5.1.5, «Восстановление резервных копий, созданных с помощью параметра
--use-tts».
См. Раздел 5.1.5, «Восстановление резервных копий, созданных с помощью параметра
--use-tts» для получения дополнительной информации о выборочном восстановлении и примере переименования таблицы.
Параметры резервного копирования частичного резервного копирования
Информация в этом подразделе относится только к использованию устаревшего параметра --include, который был устаревшим. Для создания частичных резервных копий используйте параметры --include-tables и --exclude-tables.
Помимо --include, некоторые другие параметры также обсуждаются ниже, но информация относится только к использованию параметров вместе с --include.
Для обзора частичных резервных копий и примеров использования этих устаревших параметров см. Создание частичной резервной копии с устаревшими параметрами (устаревший).
-
--include=REGEXPЭтот параметр предназначен для фильтрации таблиц InnoDB для резервного копирования. Полные имена таблиц InnoDB проверяются на соответствие регулярному выражению, указанному параметром. Если совпадение по REGEXP есть
, таблица включается. Используется синтаксис регулярных выражений в расширенном формате, заданном стандартом POSIX 1003.2. Например,db_name.table_name--include=mydb\.t[12]соответствует таблицамt1иt2в базе данныхmydb. mysqlbackup выводит ошибку, если параметр используется без предоставленного регулярного выражения.Этот параметр применяется только к таблицам InnoDB, созданным с включенным параметром MySQL (по умолчанию в MySQL 5.6 и выше), в этом случае таблицы находятся в отдельных файлах, которые могут быть включены или исключены из резервной копии. Все таблицы в системном пространстве InnoDB всегда резервируются.
Если ни одна таблица InnoDB не соответствует заданному регулярному выражению, выводится ошибка с сообщением о том, что совпадений нет.
Значение по умолчанию: резервируются все таблицы InnoDB.
ПримечаниеЭтот параметр не фильтрует таблицы, не являющиеся InnoDB.
-
--use-tts[={with-minimum-locking|with-full-locking}]Включить выборочное резервное копирование таблиц InnoDB с использованием . Это используется совместно с параметром
--include, который выбирает таблицы InnoDB для резервного копирования с помощью регулярного выражения. Использование для резервного копирования предоставляет следующие преимущества:Резервные копии могут быть восстановлены на другой сервер
не резервируется, что экономит дисковое пространство и ресурсы ввода-вывода
Согласованность данных таблиц управляется MySQL Enterprise Backup
См. важные обсуждения здесь о ограничениях при использовании параметра
--use-tts.Параметр может принимать два значения:
with-minimum-locking: Создаются горячие копии выбранных таблиц, и таблицы блокируются в режиме только для чтения, пока (только та часть, содержащая соответствующие изменения, внесенные после горячего резервного копирования) включается в резервную копию. Любые таблицы, созданные во время фазы блокировки, игнорируются.with-full-locking: Выбранные таблицы блокируются в режиме только для чтения во время резервного копирования. не включается в резервную копию. Любые таблицы, созданные во время фазы блокировки, игнорируются.
Значение по умолчанию: резервное копирование с минимальной блокировкой
Существуют некоторые специальные требования к восстановлению резервных копий, созданных с параметром
--use-tts; см. объяснения в Раздел 5.1, «Выполнение операции восстановления» для получения подробностей.
© 2025 Oracle
Licensed under the GPLv2 License.