Spec-Zone .ru
спецификации, руководства, описания, API
|
Программа восстановления кластера реализуется как отдельная утилита командной строки ndb_restore, который может обычно находиться в MySQL bin
каталог. Эта программа читает файлы, создаваемые в результате резервного
копирования, и вставляет хранившую информацию в базу данных.
ndb_restore должен быть выполнен однажды для каждых из файлов
резервных копий, которые создавались START BACKUP
команда, используемая, чтобы
создать резервное копирование (см. Раздел
17.5.3.2, "Используя MySQL Cluster Management Client to Create Резервное копирование"). Это
равно числу узлов данных в кластере в то время, когда резервное копирование создавалось.
Перед использованием ndb_restore рекомендуется, чтобы кластер работал в однопользовательском режиме, если Вы не восстанавливаете многократные узлы данных параллельно. См. Раздел 17.5.8, "MySQL Cluster Single User Mode", для получения дополнительной информации.
Следующая таблица включает опции, которые являются определенными для MySQL Cluster собственная резервная программа восстановления ndb_restore. Дополнительные описания следуют за таблицей. Для опций, характерных для большинства программ MySQL Cluster (включая ndb_restore), см. Раздел 17.4.25, "Опции, Характерные для MySQL Cluster Programs — Опции, Характерные для MySQL Cluster Programs".
Таблица 17.22. Опции ndb_restore и Переменные: MySQL Cluster NDB7.3
Формат | Описание | Добавленный / Удаленный |
---|---|---|
То же самое как connectstring | Весь MySQL 5.6 базируемые выпуски |
|
Поддержите файлы от узла с этим ID | Весь MySQL 5.6 базируемые выпуски |
|
Восстановление от резервного копирования с данным ID | Весь MySQL 5.6 базируемые выпуски |
|
Табличные данные восстановления и журналы в Кластер NDB, используя API NDB | Весь MySQL 5.6 базируемые выпуски |
|
Метаданные восстановления к Кластеру NDB, используя API NDB | Весь MySQL 5.6 базируемые выпуски |
|
Не обновляйте тип массива для атрибутов varsize, которые уже не изменяют размеры данных VAR, и не изменяют атрибуты столбца | Весь MySQL 5.6 базируемые выпуски |
|
Позвольте атрибутам быть продвинутыми, восстанавливая данные от резервного копирования | Весь MySQL 5.6 базируемые выпуски |
|
Позвольте сохранение конечных пробелов (включая дополнение), продвигая фиксированные-width строковые типы переменные-width типы | Весь MySQL 5.6 базируемые выпуски |
|
Не восстанавливайте объекты, касающиеся Дисковых Данных | Весь MySQL 5.6 базируемые выпуски |
|
Информация эпохи восстановления в таблицу состояния. Удобный на ведомом устройстве репликации MySQL Cluster для того, чтобы начать репликацию. Строка в mysql.ndb_apply_status с идентификатором 0 будет обновлена/вставлена. | Весь MySQL 5.6 базируемые выпуски |
|
Пропустите проверку структуры таблицы во время восстановления данных | Весь MySQL 5.6 базируемые выпуски |
|
Число параллельных транзакций, чтобы использовать, восстанавливая данные | Весь MySQL 5.6 базируемые выпуски |
|
Метаданные печати, данные и журнал к stdout (эквивалентный - print_meta - print_data - print_log) | Весь MySQL 5.6 базируемые выпуски |
|
Метаданные печати к stdout | Весь MySQL 5.6 базируемые выпуски |
|
Данные печати к stdout | Весь MySQL 5.6 базируемые выпуски |
|
Печать к stdout | Весь MySQL 5.6 базируемые выпуски |
|
Путь к каталогу файлов резервных копий | Весь MySQL 5.6 базируемые выпуски |
|
Не игнорируйте системную таблицу во время восстановления. Экспериментальный только; не для производственного использования | Весь MySQL 5.6 базируемые выпуски |
|
Nodegroup отображаются для механизма хранения NDBCLUSTER. Синтаксис: список (source_nodegroup, destination_nodegroup) | Весь MySQL 5.6 базируемые выпуски |
|
Поля включаются с обозначенным символом | Весь MySQL 5.6 базируемые выпуски |
|
Поля завершаются обозначенным символом | Весь MySQL 5.6 базируемые выпуски |
|
Поля дополнительно включаются с обозначенным символом | Весь MySQL 5.6 базируемые выпуски |
|
Строки завершаются обозначенным символом | Весь MySQL 5.6 базируемые выпуски |
|
Двоичный файл печати вводит шестнадцатеричный формат | Весь MySQL 5.6 базируемые выпуски |
|
Создает разделенный от вкладки.txt файл для каждой таблицы в данном пути | Весь MySQL 5.6 базируемые выпуски |
|
Добавьте данные к файлу с разделением табуляцией | Весь MySQL 5.6 базируемые выпуски |
|
Состояние печати восстановления каждое данное число секунд | Весь MySQL 5.6 базируемые выпуски |
|
Если mysqld соединяется и использование двоичного журналирования, не регистрируйте восстановленные данные | Весь MySQL 5.6 базируемые выпуски |
|
Уровень многословия в выводе | Весь MySQL 5.6 базируемые выпуски |
|
Список одной или более баз данных, чтобы восстановить (исключает не названных), | Весь MySQL 5.6 базируемые выпуски |
|
Список одной или более баз данных, чтобы исключить (включает не названных), | Весь MySQL 5.6 базируемые выпуски |
|
Список одной или более таблиц, чтобы восстановить (исключает тех в той же самой базе данных, которых не называют); каждая ссылка на таблицу должна включать имя базы данных | Весь MySQL 5.6 базируемые выпуски |
|
Список одной или более таблиц, чтобы исключить (включает тех в ту же самую базу данных, которых не не называют); каждая ссылка на таблицу должна включать имя базы данных | Весь MySQL 5.6 базируемые выпуски |
|
Столбцы причин от резервной версии таблицы, которые отсутствуют в версии таблицы в базе данных, которая будет проигнорирована. | Весь MySQL 5.6 базируемые выпуски |
|
Причины индексируют от резервного копирования, которое будет проигнорировано; может уменьшиться время должно было восстановить данные. | Весь MySQL 5.6 базируемые выпуски |
|
Вызывает многопоточный упорядоченный, индексируют восстановление, индексирует найденный в резервном копировании. | Весь MySQL 5.6 базируемые выпуски |
|
Причины недостающие таблицы блоба в файле резервной копии, который будет проигнорирован. | Весь MySQL 5.6 базируемые выпуски |
|
Объекты схемы причин, не распознанные ndb_restore, который будет проигнорирован, восстанавливая резервное копирование, сделанное от более новой версии MySQL Cluster до более старой версии. | Весь MySQL 5.6 базируемые выпуски |
|
Восстановления к базе данных с другим именем чем оригинал | Весь MySQL 5.6 базируемые выпуски |
|
Позвольте преобразования с потерями значений столбцов (введите понижения в должности или изменения в знаке), восстанавливая данные от резервного копирования | Весь MySQL 5.6 базируемые выпуски |
|
Таблицы полномочия MySQL восстановления, которые были ранее перемещены в NDB. | Весь MySQL 5.6 базируемые выпуски |
Типичные варианты для этой утилиты показываются здесь:
ndb_restore [-cconnectstring
] -nnode_id
[-m] -bbackup_id
\ -r --backup_path=/path/to/backup/files
-c
опция используется, чтобы определить connectstring, который говорит ndb_restore
где определить местоположение сервера управления кластером. (См. Раздел 17.3.2.3, "MySQL Cluster
Connectstring", для информации о connectstrings.), Если эта опция не используется, то ndb_restore пытается соединиться с сервером управления на localhost:1186
. Эта утилита действия как узел API кластера, и так требует, чтобы
бесплатное подключение "слот" соединилось с
сервером управления кластером. Это означает, что должен быть по крайней мере один [api]
или [mysqld]
раздел, который может
использоваться этим в кластере config.ini
файл. Это - хорошая идея сохранить по
крайней мере один пустым [api]
или [mysqld]
раздел в
config.ini
это не используется для сервера MySQL или другого приложения по этой
причине (см. Раздел 17.3.2.7, "Определяя
SQL и Другие Узлы API в MySQL Cluster").
Можно проверить, что ndb_restore соединяется с кластером при использовании команды SHOW в ndb_mgm клиенте управления. Можно также выполнить это от системной оболочки, как показано здесь:
shell> ndb_mgm -e
"SHOW"
-n
используется, чтобы определить ID узла узла данных, на котором были взяты резервные
копии.
В первый раз, когда Вы выполняете ndb_restore программу восстановления, Вы также должны
восстановить метаданные. Другими словами следует воссоздать таблицы базы данных — это может быть сделано,
выполняя это с --restore_meta
(-m
) опция. Восстановление
metdata должно быть сделанным только на единственном узле данных; это достаточно, чтобы восстановить это ко
всему кластеру. Отметьте, что у кластера должна быть пустая база данных, начиная восстанавливать резервное
копирование. (Другими словами следует запустить ndbd с --initial
до выполнения
восстановления.)
Возможно
восстановить данные, не восстанавливая табличные метаданные. Поведение значения по умолчанию, делая это для ndb_restore, чтобы перестать работать с ошибкой, если
табличные данные не соответствуют табличную схему; это может быть переопределено, используя --skip-table-check
или -s
опция.
Некоторые из ограничений на несоответствия в определениях столбца, восстанавливая данные, используя ndb_restore ослабляются; когда с одним из этих типов
несоответствий встречаются, ndb_restore не останавливается с ошибкой, поскольку это
сделало ранее, а скорее принимает данные и вставляет это в целевую таблицу, выпуская предупреждение
пользователю, что это делается. Это поведение происходит действительно ли любая из опций --skip-table-check
или --promote-attributes
используется. Эти различия в определениях столбца имеют следующие типы:
Отличающийся COLUMN_FORMAT
настройки (FIXED
, DYNAMIC
, DEFAULT
)
Отличающийся STORAGE
настройки (MEMORY
,
DISK
)
Различные значения по умолчанию
Различные ключевые настройки распределения
ndb_restore поддерживает ограниченное продвижение
атрибута почти таким же способом, которым это поддерживается репликацией MySQL; то есть, данные,
поддержанные от столбца данного типа, могут обычно быть восстановлены столбцу, используя "больший, подобный" тип. Например, данные от a CHAR(20)
столбец может быть восстановлен столбцу, объявленному как VARCHAR(20)
, VARCHAR(30)
, или CHAR(30)
; данные от a MEDIUMINT
столбец может быть восстановлен столбцу типа INT
или BIGINT
. См. Раздел
16.4.1.9.2, "Репликация Столбцов, Имеющих Различные Типы данных", для таблицы преобразований
типов, в настоящий момент поддерживаемых продвижением атрибута.
Продвижение атрибута ndb_restore должно быть включено явно, следующим образом:
Подготовьте таблицу, которой должно быть восстановлено резервное копирование. ndb_restore
не может использоваться, чтобы воссоздать таблицу с различным определением из оригинала; это означает,
что следует или составить таблицу вручную, или изменить столбцы, которые Вы хотите продвинуть
использование ALTER TABLE
после
восстановления табличных метаданных, но прежде, чем восстановить данные.
Вызовите ndb_restore с --promote-attributes
опция (краткая форма -A
)
восстанавливая табличные данные. Продвижение атрибута не происходит, если эта опция не используется;
вместо этого, работа восстановления перестала работать с ошибкой.
Формат командной строки | --lossy-conversions |
||
-L |
|||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | FALSE |
Эта опция предназначается к дополнению --promote-attributes
опция. Используя --lossy-conversions
позволяет преобразования с потерями значений столбцов (введите
понижения в должности или изменения в знаке), восстанавливая данные от резервного копирования. С некоторыми
исключениями правила, управляющие понижением в должности, являются тем же самым что касается репликации MySQL;
см. Раздел 16.4.1.9.2, "Репликация
Столбцов, Имеющих Различные Типы данных", для информации о преобразованиях определенного типа, в
настоящий момент поддерживаемых понижением в должности атрибута.
ndb_restore сообщает о любом усечении данных, которые это выполняет во время преобразований с потерями однажды на атрибут и столбец.
--preserve-trailing-spaces
опция (краткая форма -R
)
конечные пробелы причин, которые будут сохранены, способствуя фиксированному-width символьному типу данных его
переменный-width эквивалент — то есть, продвигая a CHAR
значение столбца к VARCHAR
или a BINARY
значение столбца к VARBINARY
. Иначе, любые
конечные пробелы отбрасываются от таких значений столбцов, когда они вставляются в новые столбцы.
Хотя можно продвинуть CHAR
столбцы к VARCHAR
и BINARY
столбцы к VARBINARY
, невозможно продвинуть VARCHAR
столбцы к CHAR
или VARBINARY
столбцы к BINARY
.
-b
опция используется, чтобы определить Идентификационный или порядковый номер
резервного копирования, и является тем же самым числом, показанным клиентом управления в Backup
сообщение выводится на экран после
завершения резервного копирования. (См. Раздел
17.5.3.2, "Используя MySQL Cluster Management Client to Create Резервное копирование".)backup_id
completed
Восстанавливая резервные копии кластера, следует убедиться, что восстановили все узлы данных от резервных копий, имеющих тот же самый резервный ID. Используя файлы от различных резервных копий в лучшем случае приведет к восстановлению кластера к непоследовательному состоянию, и может перестать работать в целом.
--restore_epoch
(краткая форма: -e
) добавляет (или
восстановления) информацию об эпохе к таблице состояния репликации кластера. Это полезно для запуска репликации
на ведомом устройстве репликации MySQL Cluster. Когда эта опция используется, строка в mysql.ndb_apply_status
наличие 0
в id
столбец обновляется, если он уже
существует; такая строка вставляется, если она уже не существует. (См. Раздел
17.6.9, "MySQL Cluster Replication MySQL Cluster Backups With".)
Эта опция заставляет ndb_restore выводить NDB
табличные данные и журналы.
Эта опция заставляет ndb_restore печатать NDB
табличные метаданные. Обычно, Вы должны только использовать эту опцию,
восстанавливая первый узел данных кластера; дополнительные узлы данных могут получить метаданные из первого.
ndb_restore не делает распределенными таблицами полномочия MySQL восстановления значения по умолчанию. Эта опция заставляет ndb_restore восстанавливать таблицы полномочия.
Это работает, только если таблицы полномочия были преобразованы в NDB
прежде, чем резервное копирование было взято. Для получения дополнительной
информации см. Раздел 17.5.14, "Распределенный
MySQL Privileges для MySQL Cluster".
Путь к резервному каталогу требуется; это предоставляется ndb_restore, используя --backup_path
опция, и должна включать подкаталог, соответствующий резервному копированию ID резервного копирования, которое
будет восстановлено. Например, если узел данных DataDir
/var/lib/mysql-cluster
, тогда резервный
каталог /var/lib/mysql-cluster/BACKUP
, и файлы резервных копий для резервного
копирования с ID 3 могут быть найдены в /var/lib/mysql-cluster/BACKUP/BACKUP-3
.
Путь может быть абсолютным или относительно каталога, в котором ndb_restore исполнимая программа располагается, и может быть
дополнительно снабжена префиксом backup_path=
.
Возможно восстановить резервное копирование к базе данных с различной конфигурацией, чем это создавалось из.
Например, предположите что резервное копирование с резервным ID 12
, создаваемый в
кластере с двумя узлами базы данных, имеющими ID узла 2
и 3
, должен быть восстановлен кластеру с четырьмя узлами. Затем ndb_restore должен быть выполнен дважды — однажды для
каждого узла базы данных в кластере, где резервное копирование было взято. Однако, ndb_restore не может всегда восстанавливать резервные копии,
сделанные из кластера, выполняющего одну версию MySQL к кластеру, выполняющему различную версию MySQL. См. Раздел 17.2.8, "Обновляя и Кластер
MySQL Downgrading NDB 7.3", для получения дополнительной информации.
Не возможно восстановить резервное копирование, сделанное из более новой версии MySQL Cluster, используя более старую версию ndb_restore. Можно восстановить резервное копирование, сделанное из более новой версии MySQL к более старому кластеру, но следует использовать копию ndb_restore от более новой версии MySQL Cluster, чтобы сделать так.
Например, чтобы восстановить резервное копирование кластера, взятое от кластера рабочий MySQL Cluster NDB 7.2.5 к кластеру рабочий MySQL Cluster NDB 7.1.21, следует использовать ndb_restore, который идет с MySQL Cluster NDB 7.2.5 распределения.
Для более быстрого восстановления данные могут быть восстановлены параллельно, при условии, что есть достаточное
число доступных соединений кластера. Таким образом, восстанавливая к многократным узлам параллельно, Вы должны
иметь [api]
или [mysqld]
раздел в кластере config.ini
файл, доступный для каждого параллельного процесса ndb_restore. Однако, файлы данных должны всегда применяться
перед журналами.
При использовании ndb_restore, чтобы восстановить резервное копирование, VARCHAR
столбцы создали использование старого фиксированного формата, изменяются и воссоздал использование
переменного-width формата, теперь используемого. Это поведение может быть переопределено, используя --no-upgrade
опция (краткая форма: -u
) работая ndb_restore.
--print_data
опция заставляет ndb_restore направлять свой вывод к stdout
.
TEXT
и BLOB
значения столбцов являются всегда усеченными к первым 256 байтам в выводе;
это не может в настоящий момент быть переопределено при использовании --print_data
.
Несколько дополнительных опций доступны для использования с --print_data
опция в
генерировании дампов данных, любого к stdout
, или к файлу. Они подобны некоторым из
опций, используемых с mysqldump,
и показываются в следующем списке:
Формат командной строки | --tab=path |
||
-T |
Эта опция причины --print_data
создать файлы дампа, один на таблицу, каждый названный
. Это требует
как его параметр путь к каталогу, где файлы должны быть сохранены; использовать tbl_name
.txt.
для текущего каталога.
Формат командной строки | --fields-enclosed-by=char |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
Каждый значения столбцов включается строкой, которую передают к этой опции (независимо от типа данных; см. следующий элемент).
--fields-optionally-enclosed-by=
string
Формат командной строки | --fields-optionally-enclosed-by |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
Строка, которую передают к этой опции, используется, чтобы включить значения столбцов, содержащие
символьные данные (такой как CHAR
,
VARCHAR
, BINARY
, TEXT
, или ENUM
).
Формат командной строки | --fields-terminated-by=char |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | \t (tab) |
Строка, которую передают к этой опции, используется, чтобы разделить значения столбцов. Значение по
умолчанию является символом вкладки (\t
).
Формат командной строки | --hex |
Если эта опция используется, все двоичные значения выводятся в шестнадцатеричном формате.
Формат командной строки | --fields-terminated-by=char |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | \t (tab) |
Эта опция определяет строку, используемую, чтобы закончить каждую строку вывода. Значение по
умолчанию является символом перевода строки (\n
).
Формат командной строки | --append |
Когда использующийся с --tab
и --print_data
опции, это заставляет данные быть добавленными к любым
существующим файлам, имеющим те же самые имена.
Если у таблицы нет никакого явного первичного ключа, то вывод, сгенерированный при использовании --print_data
опция включает скрытый первичный ключ таблицы.
Эта опция заставляет ndb_restore печатать все метаданные к stdout
.
--print_log
опция заставляет ndb_restore выводить свой журнал к stdout
.
Причины ndb_restore,
чтобы напечатать все данные, метаданные, и журналы к stdout
. Эквивалентный
использованию --print_data
,
--print_meta
,
и --print_log
опции вместе.
Использование --print
или любой из --print_*
опции в действительности выполняют пробный прогон. Включая один или
больше этих опций заставляет любой вывод быть перенаправленным к stdout
; в
таких случаях ndb_restore не предпринимает попытки восстановить данные
или метаданные к MySQL Cluster.
Обычно, восстанавливая табличные данные и метаданные, ndb_restore игнорирует копию NDB
системная таблица, которая присутствует в резервном копировании. --dont_ignore_systab_0
заставляет системную таблицу быть восстановленной. Эта опция предназначается для экспериментального, и разработка используют только, и не
рекомендуется в продуктивной среде.
Эта опция может использоваться, чтобы восстановить резервное копирование, взятое от одной группы узла различной
группе узла. Его параметром является список формы
. source_node_group
,
target_node_group
Эта опция препятствует тому, чтобы любые соединенные узлы SQL писали данные, восстановленные ndb_restore их двоичным журналам.
Эта опция мешает ndb_restore восстановить любой MySQL Cluster Disk Data objects, такой как группы файла журнала и табличные области; см. Раздел 17.5.12, "MySQL Cluster Disk Data Tables", для получения дополнительной информации о них.
Определяет максимальное количество параллельных транзакций, которые ndb_restore пытается использовать. По умолчанию это 128; минимум 1, и максимум 1024.
Напечатайте отчет о состоянии каждый N
секунды, в то время как
резервное копирование происходит. 0 (значение по умолчанию) не заставляет отчетов о состоянии быть
напечатанными. Максимум 65535.
Устанавливает уровень для многословия вывода. Минимум 0; максимум 255. Значение по умолчанию 1.
Возможно восстановить только выбранные базы данных, или выбранные таблицы от единственной базы данных, используя синтаксис, показанный здесь:
ndb_restoreother_options
db_name
,[db_name
[,...] |tbl_name
[,tbl_name
][,...]]
Другими словами можно определить любой из следующих, которые будут восстановлены:
Все таблицы от одной или более баз данных
Одна или более таблиц от единственной базы данных
--include-databases=
db_name
[,db_name
][,...]
Формат командной строки | --include-databases=db-list |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
--include-tables=
db_name.tbl_name
[,db_name.tbl_name
][,...]
Формат командной строки | --include-tables=table-list |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
Используйте --include-databases
опция или --include-tables
опция для того, чтобы восстановить только определенные
базы данных или таблицы, соответственно. --include-databases
берет разграниченный
запятой список баз данных, которые будут восстановлены. --include-tables
берет
разграниченный запятой список таблиц (в
формат), чтобы быть восстановленным. database
.table
Когда --include-databases
или --include-tables
используется, только те базы данных или таблицы, названные опцией, восстанавливаются; все другие базы данных и
таблицы исключаются ndb_restore, и не восстанавливаются.
Следующая таблица показывает несколько вызовов использования ndb_restore --include-*
опции
(другие опции, возможно требуемые, были опущены для ясности), и эффекты они имеют при восстановлении от
резервного копирования MySQL Cluster:
Используемая опция | Результат |
---|---|
--include-databases=db1 |
Только таблицы в базе данных db1 восстанавливаются; все таблицы во всех
других базах данных игнорируются
|
--include-databases=db1,db2 (или --include-databases=db1
--include-databases=db2 )
|
Только таблицы в базах данных db1 и db2
восстанавливаются; все таблицы во всех других базах данных игнорируются
|
--include-tables=db1.t1 |
Только таблица t1 в базе данных db1
восстанавливается; никакие другие таблицы в db1 или в любой другой базе
данных восстанавливаются
|
--include-tables=db1.t2,db2.t1 (или --include-tables=db1.t2
--include-tables=db2.t1 )
|
Только таблица t2 в базе данных db1 и
таблица t1 в базе данных db2
восстанавливаются; никакие другие таблицы в db1 , db2 ,
или база данных anyother восстанавливается
|
Можно также использовать эти две опции вместе. Например, следующие причины все таблицы в базах данных db1
и db2
, вместе с таблицами t1
и t2
в базе данных db3
,
быть восстановленным (и никакие другие базы данных или таблицы):
shell> ndb_restore [...] --include-databases=db1,db2
--include-tables=db3.t1,db3.t2
(Снова мы опустили другой, возможно потребовали, опции в примере, только показанном.)
--exclude-databases=
db_name
[,db_name
][,...]
Формат командной строки | --exclude-databases=db-list |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
--exclude-tables=
db_name.tbl_name
[,db_name.tbl_name
][,...]
Формат командной строки | --exclude-tables=table-list |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
Возможно препятствовать тому, чтобы одна или более баз данных или таблицы были восстановлены, используя ndb_restore опции --exclude-databases
и --exclude-tables
. --exclude-databases
берет разграниченный запятой список одной или более баз данных,
которые не должны быть восстановлены. --exclude-tables
берет разграниченный запятой
список одной или более таблиц (использование
формат), который не должен быть восстановлен. database
.table
Когда --exclude-databases
или --exclude-tables
используется, только те базы данных или таблицы, названные опцией, исключаются; все другие базы данных и таблицы
восстанавливаются ndb_restore.
Эта таблица показывает несколько вызовов ndb_restore usng --exclude-*
опции
(другие опции, возможно требуемые, были опущены для ясности), и эффекты эти опции имеют при восстановлении от
резервного копирования MySQL Cluster:
Используемая опция | Результат |
---|---|
--exclude-databases=db1 |
Все таблицы во всех базах данных кроме db1 восстанавливаются; никакие
таблицы в db1 восстанавливаются
|
--exclude-databases=db1,db2 (или --exclude-databases=db1
--exclude-databases=db2 )
|
Все таблицы во всех базах данных кроме db1 и db2 восстанавливаются; никакие таблицы в db1
или db2 восстанавливаются
|
--exclude-tables=db1.t1 |
Все таблицы кроме t1 в базе данных db1
восстанавливаются; все другие таблицы в db1 восстанавливаются; все
таблицы во всех других базах данных восстанавливаются
|
--exclude-tables=db1.t2,db2.t1 (или --exclude-tables=db1.t2
--exclude-tables=db2.t1) |
Все таблицы в базе данных db1 за исключением t2 и все таблицы в базе данных db2 за
исключением таблицы t1 восстанавливаются; никакие другие таблицы в
db1 или db2 arerestored; все таблицы во
всех других базах данных восстанавливаются
|
Можно использовать эти две опции вместе. Например, следующие причины все таблицы во всех базах данных за исключением баз данных db1
и db2
, наряду с таблицами t1
и t2
в базе данных db3
, не
быть восстановленным:
shell> ndb_restore [...] --exclude-databases=db1,db2
--exclude-tables=db3.t1,db3.t2
(Снова, мы опустили другие возможно необходимые опции в интересах ясности и краткости от примера, только показанного.)
Можно использовать --include-*
и --exclude-*
опции
вместе согласно следующим правилам:
Действия всех --include-*
и --exclude-*
опции являются совокупными.
Все --include-*
и --exclude-*
опции оцениваются в порядке, который передают к ndb_restore,
справа налево.
В случае конфликтных опций имеет приоритет первая (самая правая) опция. Другими словами, первая опция (идущий справа налево), который соответствует против данной базы данных или таблицы "победы".
Например, следующий набор опций заставляет ndb_restore восстанавливать все таблицы от базы данных db1
кроме db1.t1
, не восстанавливая никакие другие
таблицы от любых других баз данных:
--include-databases=db1 --exclude-tables=db1.t1
Однако, инвертирование порядка опций, только данных просто, вызывает все таблицы от базы данных db1
быть восстановленным (включая db1.t1
, но никакие
таблицы от любой другой базы данных), потому что --include-databases
опция, будучи самым дальним направо, является первым
соответствием против базы данных db1
и таким образом имеет приоритет по любой
другой опции, которая соответствует db1
или любые таблицы в db1
:
--exclude-tables=db1.t1 --include-databases=db1
Формат командной строки | --exclude-missing-columns |
Также возможно восстановить только выбранные столбцы таблицы, используя --exclude-missing-columns
опция. Когда эта опция используется, ndb_restore игнорирует любые столбцы, отсутствующие в
таблицах, восстанавливаемых по сравнению с версиями тех таблиц, найденных в резервном копировании. Эта опция
применяется ко всем восстанавливаемым таблицам. Если Вы хотите применить эту опцию только к выбранным таблицам
или базам данных, можно использовать ее в комбинации с один или больше опций, описанных в предыдущем абзаце,
чтобы сделать так, то восстановить данные к остающимся таблицам, используя дополнительный набор этих опций.
Формат командной строки | --disable-indexes |
Отключите восстановление, индексирует во время восстановления данных от собственного резервного копирования NDB.
Впоследствии, можно восстановить, индексирует для всех таблиц сразу с многопоточным зданием, индексирует
использование --rebuild-indexes
,
который должен быть быстрее, чем восстановление индексирует одновременно для очень больших таблиц.
Формат командной строки | --rebuild-indexes |
Можно использовать эту опцию с ndb_restore, чтобы вызвать многопоточное восстановление
упорядоченного, индексирует, восстанавливая собственное NDB
резервное копирование.
Формат командной строки | --skip-broken-objects |
Эта опция заставляет ndb_restore игнорировать поврежденные таблицы, читая собственное
NDB
резервное копирование, и продолжать восстанавливать любые остающиеся
таблицы (которые также не повреждаются). В настоящий момент, --skip-broken-objects
опция работает только в случае недостающих таблиц частей блоба.
Формат командной строки | --skip-unknown-objects |
Этот ndb_restore причин опции, чтобы проигнорировать любую схему
возражает, что это не распознает, читая собственное NDB
резервное копирование. Это может использоваться для того, чтобы
восстановить резервное копирование, сделанное из кластера рабочий MySQL Cluster NDB 7.3 к кластеру рабочий MySQL
Cluster NDB 7.2.
--rewrite-database=
old_dbname
,new_dbname
Формат командной строки | --rewrite-database=olddb,newdb |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | none |
Эта опция позволяет восстановить к базе данных, имеющей другое имя от используемого в резервном копировании.
Например, если резервное копирование делается из названной базы данных products
,
можно восстановить данные, которые это содержит к названной базе данных inventory
,
используйте эту опцию как показано здесь (опускающий любые другие опции, которые могли бы требоваться):
shell> ndb_restore --rewrite-database=product,inventory
Опция может использоваться многократно в единственном вызове ndb_restore. Таким образом возможно восстановить одновременно от
названной базы данных db1
к названной базе данных db2
и от базы данных называется db3
к одному именованному db4
использование --rewrite-database=db1,db2
--rewrite-database=db3,db4
. Другие ndb_restore опции могут использоваться между многократными
возникновениями --rewrite-database
.
В случае конфликтов между многократным --rewrite-database
опции, последнее --rewrite-database
используемая опция, читая слева направо, является той, которая
вступает в силу. Например, если --rewrite-database=db1,db2
--rewrite-database=db1,db3
используется, только --rewrite-database=db1,db3
соблюдается, и --rewrite-database=db1,db2
игнорируется. Также возможно восстановить от многократных баз данных до единственной базы данных, так, чтобы
--rewrite-database=db1,db3 --rewrite-database=db2,db3
восстановления все таблицы и
данные от баз данных db1
и db2
в базу данных db3
.
Восстанавливая от многократных резервных баз данных в единственное целевое использование базы
данных --rewrite-database
, никакая проверка не осуществляется для коллизий между
таблицей или другими именами объектов, и порядок, в котором восстанавливаются строки, не гарантируется. Это
означает, что для строк возможно в таких случаях быть перезаписанным и обновления, которые будут потеряны.
Сообщение об ошибке. ndb_restore сообщает и о нерегулярных и систематических ошибках.
В случае нерегулярных ошибок это может способный восстановиться от них, и отчетов Restore
successful, but encountered temporary error, please look at configuration
в таких случаях.
После использования ndb_restore, чтобы инициализировать MySQL Cluster для
использования в круговой репликации, двоичный файл входит в систему узел SQL, действующий, поскольку ведомое
устройство репликации автоматически не создается, и следует заставить их создаваться вручную. Заставить
двоичные журналы создаваться, проблема a SHOW
TABLES
оператор на том узле SQL перед выполнением START SLAVE
. Это - известная проблема в MySQL Cluster.