Глава 6. Программы NDB Cluster
Использование и управление NDB Cluster
требует нескольких специализированных программ, которые мы описываем в этой
главе. Мы обсуждаем цели этих программ в NDB Cluster,
как использовать программы, и какие опции запуска доступны для
каждой из них.
Эти программы включают данные о NDB Cluster data,
управление и процессы узла SQL
(
ndbd,
ndbmtd,
ndb_mgmd и
mysqld) и клиент управления
(
ndb_mgm).
Информация о программе
ndb_setup.py,
используемой, чтобы начать NDB Cluster Auto-Installer,
также включена в эту секцию. Необходимо знать, что
раздел 6.27
содержит информацию только о клиенте командной строки,
для получения информации об использовании инсталлятора GUI, порожденного этой
программой, чтобы формировать и развернуть NDB Cluster, см.
раздел 4.1.
Для получения информации об использовании
mysqld как NDB Cluster см.
раздел 7.4.
Другие утилиты NDB ,
диагностические и примеры программы включены в дистрибутив NDB Cluster.
Они включают
ndb_restore,
ndb_show_tables и
ndb_config.
Эти программы также покрыты этой секцией.
Заключительная часть этой секции содержит таблицы опций, которые
характерны для всех различных программ NDB Cluster.
6.1. ndbd
NDB Cluster Data Node Daemon
ndbd
это процесс, который используется, чтобы обработать все данные в
таблицах, используя механизм хранения NDB Cluster.
Это процесс, который уполномочивает узел данных достигать обработки
распределенной транзакции, восстановления узла, сбросу контрольных
точек на диск, резервной копии онлайн и связанным задачам.
В NDB Cluster ряд процессов
ndbd сотрудничает в обработке данных.
Эти процессы могут выполняться на том же самом компьютере (хосте) или на
различных компьютерах. Корреспонденции между узлами данных и
хостами Cluster абсолютно конфигурируемы.
Следующая таблица включает опции команды, определенные для программы узла
данных NDB Cluster
ndbd.
Дополнительные описания следуют за таблицей. Для опций, характерных для
большинства программ NDB Cluster (включая
ndbd), см.
раздел 6.32.
Таблица 6.1. Параметры командной строки для ndbd
Формат | Описание |
Добавлено, устарело или удалено |
--bind-address=name
|
Местный адрес |
Все выпуски на основе MySQL 5.7 |
--connect-delay=#
|
Время, чтобы ждать между попытками связаться с сервером управления,
в секундах. 0 = не ждать между попытками |
Все выпуски на основе MySQL 5.7 |
--connect-retries=#
|
Установите сколько раз повторять связь перед отказом.
0 значит только 1 попытка (и никаких повторений) |
Все выпуски на основе MySQL 5.7 |
--connect-retry-delay=#
|
Время, чтобы ждать между попытками связаться с сервером управления, в
секундах. 0 не ждать между попытками |
Все выпуски на основе MySQL 5.7 |
--daemon ,
-d
|
Начните ndbd как демона (по умолчанию). Перекрывается --nodaemon |
Все выпуски на основе MySQL 5.7 |
--foreground
| ndbd, которым управляют, на переднем плане, предусмотрел отладку
(подразумевает --nodaemon)
Все выпуски на основе MySQL 5.7 |
--initial
|
Выполните начальный запуск ndbd,
включая очистку файловой системы. Консультируйтесь с документацией
перед использованием этого |
Все выпуски на основе MySQL 5.7 |
--initial-start
|
Выступите частичный начальный запуск (требует --nowait-nodes) |
Все выпуски на основе MySQL 5.7 |
--install[=name]
|
Используемый, чтобы установить процесс узла данных как службу Windows.
Не применяется на платформах не-Windows |
Все выпуски на основе MySQL 5.7 |
--logbuffer-size=#
|
Размер элемента управления буфера регистрации. Для использования
отлаживая со многими производимыми сообщениями регистрации.
Умолчание достаточно для нормального функционирования. |
Добавлено в NDB 7.6.6 |
--nostart ,
-n
|
Не начинайте ndbd немедленно. ndbd ждет команды, чтобы
начаться с ndb_mgmd |
Все выпуски на основе MySQL 5.7 |
--nodaemon
|
Не начинайте ndbd как демона, предусмотрено для тестирования |
Все выпуски на основе MySQL 5.7 |
--nowait-nodes=list
|
Не ждите этих узлов данных, чтобы начаться (берет список разделенных
запятой значений ID узла). Также требует --ndb-nodeid. |
Все выпуски на основе MySQL 5.7 |
--remove[=name]
|
Используемый, чтобы удалить процесс узла данных, который был ранее
установлен как служба Windows. Не применяется на платформах не-Windows |
Все выпуски на основе MySQL 5.7 |
--verbose ,
-v
|
Заставляет регистрацию данных писать дополнительную
отладочную информацию узла. |
Все выпуски на основе MySQL 5.7 |
Все эти опции также относятся к многопоточной версии этой программы
(
ndbmtd),
можно заменить
ndbmtd на
ndbd везде в этой секции.
--bind-address
Свойство |
Значение |
Формат командной строки |
--bind-address=name |
Тип |
String |
Умолчание |
|
Предписывает
ndbd
связаться с определенным сетевым интерфейсом (имя хоста или IP-адрес).
У этого выбора нет значения по умолчанию.
--connect-delay=
#
Свойство |
Значение |
Формат командной строки |
--connect-delay=# |
Устарело |
Да |
Тип |
Numeric |
Умолчание |
5 |
Минимум |
0 |
Максимум |
3600 |
Определяет время, чтобы ждать между попытками связаться с сервером
управления (количеством попыток управляет
--connect-retries ).
Умолчание составляет 5 секунд.
Этот выбор устарел и будет удален в будущем выпуске NDB Cluster.
Используйте
--connect-retry-delay .
--connect-retries=#
Свойство |
Значение |
Формат командной строки |
--connect-retries=# |
Тип |
Numeric |
Умолчание |
12 |
Минимум |
0 |
Максимум |
65535 |
Установите сколько раз повторять связь перед отказом. 0 значит только 1
раз. Умолчание 12 попыток. Временем, которое ждать между попытками, управляет
--connect-retry-delay .
--connect-retry-delay=
#
Свойство |
Значение |
Формат командной строки |
--connect-retry-delay=# |
Тип |
Numeric |
Умолчание |
5 |
Минимум |
0 |
Максимум |
4294967295 |
Определяет время, которое ждать между попытками связаться с сервером
управления (временем между попытками управляет
--connect-retries ). Умолчание составляет 5 секунд.
Этот выбор занимает место опции
--connect-delay , которая устарела.
--daemon , -d
Свойство |
Значение |
Формат командной строки |
--daemon |
Тип |
Boolean |
Умолчание |
TRUE |
Предписывает выполнить процесс
ndbd или
ndbmtd как демон.
Это поведение по умолчанию.
--nodaemon может использоваться, чтобы препятствовать тому,
чтобы процесс работал как демон.
Этот выбор не имеет никакого эффекта, выполняя
ndbd или
ndbmtd в Windows.
--foreground
Свойство |
Значение |
Формат командной строки |
--foreground |
Тип |
Boolean |
Умолчание |
FALSE |
Предписывает выполнить
ndbd или
ndbmtd
как приоритетный процесс, прежде всего для отладки. Этот выбор подразумевает
--nodaemon .
Этот выбор не имеет никакого эффекта, выполняя
ndbd или
ndbmtd в Windows.
--initial
Свойство |
Значение |
Формат командной строки |
--initial |
Тип |
Boolean |
Умолчание |
FALSE |
Предписывает
ndbd выполнять начальную
инициализацию. Это стирает любые файлы, созданные в целях восстановления
более ранними
ndbd.
Это также воссоздает файлы журнала восстановления. На некоторых операционных системах
этот процесс может занять значительное количество времени.
--initial должна использоваться
только начиная процесс
ndbd при совершенно особых обстоятельствах, это
вызвано тем, что этот выбор заставляет все файлы быть удаленными из файловой
системы NDB Cluster и всех файлов журнала отката, которые будут воссозданы.
Эти обстоятельства перечисляются здесь:
Выполняя обновление программного обеспечения, которое изменило
содержание любых файлов.
Перезапуская узел с новой версией
ndbd.
Как мера последней инстанции, когда по некоторым причинам перезапуск
узла или системный перезапуск неоднократно терпят неудачу. В этом случае
знайте, что этот узел больше не может использоваться, чтобы восстановить
данные из-за разрушения файлов данных.
Чтобы избежать возможной потери данных, рекомендуется, чтобы вы
не использовали
--initial с
StopOnError = 0 . Вместо этого установите
StopOnError = 0 в
config.ini
только после того, как группа была начата, затем перезапустите узлы данных
обычно то есть, без --initial . См. описание
StopOnError (Bug #24945638).
Использование этого выбора блокирует эффект от
StartPartialTimeout и
StartPartitionedTimeout .
Этот выбор не
затрагивает ни один из следующих типов файлов:
Резервные файлы, которые были уже
созданы затронутым узлом.
Файлы NDB Cluster Disk Data (см.
раздел 7.13).
Этот выбор также не имеет никакого эффекта на восстановление данных узлом
данных, который только начинается (или перезапускается) от узлов данных,
которые уже работают. Это восстановление данных происходит автоматически и не
требует никакого вмешательства пользователя в NDB Cluster.
Допустимо использовать этот выбор, начиная группу в самый первый раз
(то есть, прежде чем любые файлы узла данных были созданы), однако,
так делать необязательно.
--initial-start
Свойство |
Значение |
Формат командной строки |
--initial-start |
Тип |
Boolean |
Умолчание |
FALSE |
Этот выбор используется, выполняя частичный начальный запуск.
Каждый узел должен быть начат с этого выбора, а также с
--nowait-nodes .
Предположим, что у вас есть группа с 4 узлами, у узлов данных которой есть
ID 2, 3, 4, и 5, и вы хотите выполнить частичный начальный запуск, используя
только узлы 2, 4, и 5 то есть, пропуская узел 3:
shell> ndbd --ndb-nodeid=2 --nowait-nodes=3 --initial-start
shell> ndbd --ndb-nodeid=4 --nowait-nodes=3 --initial-start
shell> ndbd --ndb-nodeid=5 --nowait-nodes=3 --initial-start
Используя этот выбор, необходимо также определить
ID для узла данных, начинаемого с
--ndb-nodeid .
Не путайте этот выбор с
--nowait-nodes для
ndb_mgmd, который может
использоваться, чтобы позволить группе, формируемой с многократными серверами
управления стартовать без всех серверов управления.
--install[=name
]
Свойство |
Значение |
Формат командной строки |
--install[=name] |
Platform Specific |
Windows |
Тип |
String |
Умолчание |
ndbd |
Предписывает
ndbd быть установленным как
служба Windows. Произвольно, можно определить название, если не задано,
сервисным умолчанием названия является
ndbd . Хотя предпочтительно определить другие
опции
ndbd в
my.ini или my.cnf
, возможно использовать вместе с
--install . Однако в таких случаях
--install должна быть определена сначала, прежде
чем любые другие опции даны для установки службы Windows.
Обычно нежелательно использовать этот выбор вместе с
--initial , так как это заставляет стереть и восстановить файловую
систему узла данных каждый раз, когда сервис остановлен и начат. Чрезвычайную
заботу нужно также соблюдать, если вы намереваетесь использовать какую-либо
из других опций
ndbd,
которые затрагивают старт узлов данных, включая
--initial-start ,
--nostart и
--nowait-nodes вместе с
with
--install , необходимо быть абсолютно уверенным, что вы полностью
понимаете и допускаете любые возможные последствия выполнения этого.
Опция
--install не имеет никакого эффекта на
платформы не-Windows.
--logbuffer-size=#
Свойство |
Значение |
Формат командной строки |
--logbuffer-size=# |
Добавлено в
| 5.7.22-ndb-7.6.6 |
Тип |
Integer |
Умолчание |
32768 |
Минимум |
2048 |
Максимум |
4294967295 |
Устанавливает размер буфера регистрации узла данных.
Отлаживая с большим количеством дополнительной регистрации, для буфера
регистрации возможно исчерпать пространство, если есть слишком много
сообщений регистрации, в этом случае некоторые сообщения регистрации могут
быть потеряны. Это не должно происходить во
время нормального функционирования.
--nodaemon
Свойство |
Значение |
Формат командной строки |
--nodaemon |
Тип |
Boolean |
Умолчание |
FALSE |
Не дает
ndbd или
ndbmtd работать как демон. Перекрывается опцией
--daemon . Это полезно для перенаправления вывода на
экран при отладке.
Поведение по умолчанию для
ndbd и
ndbmtd в Windows это работать
на переднем плане, делая этот выбор ненужным на платформах Windows, где это
не имеет никакого эффекта.
--nostart , -n
Свойство |
Значение |
Формат командной строки |
--nostart |
Тип |
Boolean |
Умолчание |
FALSE |
Предписывает
ndbd
не начинаться автоматически. Когда этот выбор используется,
ndbd
соединяется с сервером управления, получает данные конфигурации из него и
инициализирует коммуникационные объекты. Однако это на самом деле не начинает
механизм выполнения, пока определенно не требуется сделать это
сервером управления. Это может быть достигнуто, выпустив команду
START в клиенте управления (см.
раздел 7.2
).
--nowait-nodes=
node_id_1 [, node_id_2
[, ...]]
Свойство |
Значение |
Формат командной строки |
--nowait-nodes=list |
Тип |
String |
Умолчание |
|
Этот выбор берет список узлов данных, которых группа не будет
ждать перед стартом.
Это может использоваться, чтобы начать кластер в разделенном
статусе. Например, чтобы начать кластер только с половиной узлов данных
(узлы 2, 3, 4 и 5) в кластере с 4 узлами, можно начать каждый процесс
ndbd с
--nowait-nodes=3,5 . В этом случае кластер
начинается, как только узлы 2 и 4 соединяются, и
не ждут
StartPartitionedTimeout
миллисекунд для узлов 3 и 5, чтобы соединиться, как это было бы иначе.
Если вы хотели запустить кластер
как в предыдущем примере без одного
ndbd
(например, хост-машина для узла 3 пострадала, отказ оборудования), тогда
начните узлы 2, 4 и 5 с
--nowait-nodes=3 . Тогда работа начнется, как
только узлы 2, 4 и 5 соединяются и не будут ждать узла 3.
--remove[=name ]
Свойство |
Значение |
Формат командной строки |
--remove[=name] |
Платформа |
Windows |
Тип |
String |
Умолчание |
ndbd |
Предписывает
ndbd, который был ранее
установлен как служба Windows, удалить себя из списка сервисов.
Произвольно можно определить название сервиса, который будет деинсталлирован,
если не указано, сервисное умолчание ndbd .
--remove
не имеет никакого эффекта на платформах не-Windows.
--verbose , -v
Заставляет писать дополнительный вывод отладки в журнал узла.
В NDB 7.6.4 и позже можно также использовать
NODELOG DEBUG ON и
NODELOG DEBUG OFF , чтобы позволить и отключить эту дополнительную
регистрацию в то время, как узел данных работает.
ndbd
производит ряд файлов журнала, которые помещаются в каталог, определенный
DataDir в файле config.ini .
Эти файлы журнала упоминаются ниже.
node_id
представляет уникальный идентификатор узла. Например,
ndb_2_error.log это журнал ошибок,
произведенный узлом, ID которого 2 .
ndb_node_id
_error.log это
файл, содержащий отчеты всех катастроф, с которыми столкнулся процесс
ndbd, на который ссылаются.
Каждый отчет в этом файле содержит краткую строку ошибки и ссылку на файл
трассировки для этой катастрофы. Типичный вход в этом файле мог бы выглядеть
как показано здесь:
Date/Time: Saturday 30 July 2004 - 00:20:01
Type of error: error
Message: Internal program error (failed ndbrequire)
Fault ID: 2341
Problem data: DbtupFixAlloc.cpp
Object of reference: DBTUP (Line: 173)
ProgramName: NDB Kernel
ProcessID: 14909
TraceFile: ndb_2_trace.log.2
***EOM***
Списки возможных кодов выхода
ndbd
и сообщения, произведенные, когда процесс узла данных закрывается
преждевременно, могут быть найдены в
Data Node Error Messages.
Последний вход в файле регистрации ошибок не
обязательно новейший (и при этом его, вероятно, не будет).
Записи в журнале ошибок не
перечисляются в хронологическом порядке, скорее они соответствуют порядку
файлов трассировки, как определено в файле
ndb_node_id
_trace.log.next. Записи журнала ошибок таким образом переписаны в
циклическом и непоследовательном порядке.
ndb_node_id
_trace.log.trace_id
файл трассировки, описывающий точно, что произошло непосредственно перед тем,
как ошибка произошла. Эта информация полезна для анализа группой
разработчиков NDB Cluster.
Возможно формировать количество этих файлов трассировки, которые будут
созданы, прежде чем старые файлы переписаны.
trace_id это число, которое
увеличено для каждого последовательного файла трассировки.
ndb_node_id
_trace.log.next
файл, который отслеживает следующее число файла трассировки,
которое будет назначено.
ndb_
node_id _out.log
это файл, содержащий любой вывод данных процессом
ndbd.
Этот файл создается только, если
ndbd
начат как демон, что является поведением по умолчанию.
ndb_
node_id .pid файл, содержащий ID процесса
ndbd,
когда начато как демон. Это также функционирует как файл блокировки, чтобы
избежать старта узлов с тем же самым идентификатором.
ndb_
node_id _signal.log
файл, используемый только в отладочных версиях
ndbd,
где возможно проследить все поступающие, исходящие и внутренние сообщения с
их данными в процессе
ndbd.
Рекомендуется не использовать каталог, установленный через NFS, потому что
в некоторой окружающей среде это может вызвать проблемы посредством чего
блокировка файла .pid
остается в силе даже после того, как процесс закончился.
Чтобы начать
ndbd,
может также быть необходимо определить имя хоста сервера управления и порт,
на котором это слушает. Произвольно, можно также определить ID узла, который
должен использовать процесс.
shell> ndbd --connect-string="nodeid=2;host=ndb_mgmd.mysql.com:1186"
См. раздел 5.3.3
для получения дополнительной информации об этой проблеме.
Раздел 6.32
описывает другие параметры командной строки, которые могут использоваться с
ndbd. Для получения информации о параметрах
конфигурации узла данных посмотрите
раздел 5.3.6.
Когда
ndbd
начинается, он на самом деле начинает два процесса. Первый из них называют
процессом ангела,
его единственная работа состоит в том, чтобы обнаружить, когда процесс
выполнения был закончен, и затем перезапускать процесс
ndbd,
если это формируется, чтобы сделать так. Таким образом, при попытке
завершить
ndbd через команду Unix
kill
необходимо закрыть оба процесса, начиная с процесса ангела. Предпочтительный
метод завершения процесса
ndbd
состоит в том, чтобы использовать клиента управления и
остановить процесс оттуда.
Процесс выполнения использует один поток для чтения, записи
и просмотра данных, а также всех других действий. Этот поток осуществляется
асинхронно так, чтобы он мог легко обращаться с тысячами параллельных
действий. Кроме того, охранительный поток контролирует поток выполнения,
чтобы удостовериться, что это не висит в бесконечном цикле. Пул потоков
обращается с файловым вводом-выводом с каждым потоком, который в состоянии
обращаться с одним открытым файлом. Потоки могут также использоваться для
связей транспортера в процессе
ndbd.
В многопроцессорной системе, выполняющей большое количество операций
(включая обновления), процесс
ndbd
может потреблять до 2 CPU, если это разрешено.
Для машины со многими CPU возможно использовать несколько процессов
ndbd,
которые принадлежат различным группам узлов, однако, такую конфигурацию
все еще считают экспериментальной и не поддерживают для MySQL 5.7 в
производственном режиме. Посмотрите
раздел 3.7.
6.2. ndbinfo_select_all
выбор из таблиц ndbinfo
ndbinfo_select_all
это программа клиента, которая выбирает все строки
и колонки от одной или более таблиц в БД
ndbinfo .
Не все таблицы ndbinfo , доступные в клиенте
mysql,
могут быть прочитаны этой программой. Кроме того,
ndbinfo_select_all
может показать информацию о некоторых таблицах, внутренних для
ndbinfo ,
к которым нельзя получить доступ, используя SQL, включая
таблицы метаданных tables и
columns .
Чтобы выбрать от одной или больше таблиц
ndbinfo , используя
ndbinfo_select_all,
необходимо поставлять названия таблиц, вызывая программу,
как показано здесь:
shell> ndbinfo_select_all table_name1[table_name2] [...]
Например:
shell> ndbinfo_select_all logbuffers logspaces
== logbuffers ==
node_id log_type log_id log_part total used high
5 0 0 0 33554432 262144 0
6 0 0 0 33554432 262144 0
7 0 0 0 33554432 262144 0
8 0 0 0 33554432 262144 0
== logspaces ==
node_id log_type log_id log_part total used high
5 0 0 0 268435456 0 0
5 0 0 1 268435456 0 0
5 0 0 2 268435456 0 0
5 0 0 3 268435456 0 0
6 0 0 0 268435456 0 0
6 0 0 1 268435456 0 0
6 0 0 2 268435456 0 0
6 0 0 3 268435456 0 0
7 0 0 0 268435456 0 0
7 0 0 1 268435456 0 0
7 0 0 2 268435456 0 0
7 0 0 3 268435456 0 0
8 0 0 0 268435456 0 0
8 0 0 1 268435456 0 0
8 0 0 2 268435456 0 0
8 0 0 3 268435456 0 0
shell>
Следующая таблица включает опции, которые являются определенными для
ndbinfo_select_all.
Дополнительные описания следуют за таблицей. Для опций, характерных для
большинства программ NDB Cluster (включая
ndbinfo_select_all), см.
раздел 6.32.
Таблица 6.2. Параметры командной строки для ndbinfo_select_all
Формат | Описание |
Добавлено, устарело или удалено |
--delay=#
|
Установите задержку в секундах между циклами, умолчание 5. |
Все выпуски на основе MySQL 5.7 |
--loops=#
,
-l
|
Установите сколько раз выполнять выборку, по умолчанию 1. |
Все выпуски на основе MySQL 5.7 |
--database=db_name
,
-d
|
Название базы данных, где таблица расположена. |
Все выпуски на основе MySQL 5.7 |
--parallelism=#
,
-p
|
Установите степень параллелизма. |
Все выпуски на основе MySQL 5.7 |
--delay=seconds
Свойство |
Значение |
Формат командной строки |
--delay=# |
Тип |
Numeric |
Умолчание |
5 |
Минимум |
0 |
Максимум |
MAX_INT |
Этот выбор определяет сколько секунд ждать между выполнением циклов.
Не имеет никакого эффекта, если
--loops = 0 или 1.
--loops=number ,
-l number
Свойство |
Значение |
Формат командной строки |
--loops=# |
Тип |
Numeric |
Умолчание |
1 |
Минимум |
0 |
Максимум |
MAX_INT |
Этот выбор устанавливает сколько раз выполнять выборку.
--delay
установит время между ними.
6.3. ndbmtd
NDB Cluster Data Node Daemon (Multi-Threaded)
ndbmtd это
многопоточная версия
ndbd,
процесса, который используется, чтобы обработать все данные в таблицах,
используя NDBCLUSTER .
ndbmtd
предназначается для использования на компьютерах, имеющих многократные ядра
процессора. Если не отмечено иное,
ndbmtd функционирует таким же образом, как
ndbd,
поэтому, в этой секции, мы концентрируемся на моментах, которыми
ndbmtd отличается от
ndbd, необходимо
консультироваться с
разделом 6.1 для получения дополнительной информации об управлении узлами
данных NDB Cluster, которые относятся к однопоточным и
многопоточным версиям процесса узла данных.
Параметры командной строки и параметры конфигурации, используемые с
ndbd, также относятся к
ndbmtd.
Для получения дополнительной информации об этих опциях и параметрах
посмотрите разделы 6.1
и 5.3.6.
ndbmtd
также совместим с файловой системой
ndbd.
Другими словами, узел данных, работающий с
ndbd, может быть остановлен, заменен на
ndbmtd, а затем перезапущен без любой потери
данных. Однако, делая это, необходимо удостовериться, что
MaxNoOfExecutionThreads
установлен в правильное значение прежде, чем перезапустить узел, если вы
хотите, чтобы
ndbmtd
работал многопоточным способом. Точно так же
ndbmtd можно заменить на
ndbd
просто остановив узел и затем начав
ndbd вместо многопоточного.
Нет необходимости в опции
--initial .
Отличия в применении
ndbmtd от
ndbd:
Так как
ndbmtd
работает по умолчанию в виде единственного дерева сообщений (то есть, это
ведет себя как
ndbd),
необходимо формировать его, чтобы использовать многократные потоки.
Это может быть сделано, установив соответствующее значение в
config.ini для
MaxNoOfExecutionThreads или
ThreadConfig . Использование
MaxNoOfExecutionThreads проще, но
ThreadConfig имеет больше гибкости.
Для получения дополнительной информации об этих параметрах конфигурации и
их использовании, посмотрите
Multi-Threading Configuration Parameters (ndbmtd).
Файлы трассировки произведены критическими ошибками в
ndbmtd
несколько отличным способом от того, как они произведены в
ndbd.
Подобно
ndbd,
ndbmtd
производит ряд файлов журнала, которые помещаются в каталог, определенный
DataDir в
config.ini . За исключением файлов трассировки,
они произведены таким же образом и имеют те же самые имена, как произведенные
ndbd.
В случае критической ошибки
ndbmtd производит файлы трассировки, описывающие,
что произошло только до возникновения ошибки.
Эти файлы, которые могут быть найдены в каталоге
DataDir узла данных, полезны для анализа проблем развития NDB
Cluster и группы поддержки. Один файл трассировки произведен для каждого
потока
ndbmtd.
У названий этих файлов есть следующий образец:
ndb_node_id_trace.log.trace_id_tthread_id,
В этом образце node_id
указывает уникальный ID узла данных в группе,
trace_id порядковый номер и
thread_id номер ID потока.
Например, в случае неудачи процесса
ndbmtd,
работающего как узел данных NDB Cluster, имеющий узел ID 3 и с
MaxNoOfExecutionThreads = 4,
четыре файла трассировки произведены в каталоге данных узла данных. Если это
первый раз, когда этот узел потерпел неудачу, то эти файлы называют
ndb_3_trace.log.1_t1 ,
ndb_3_trace.log.1_t2 ,
ndb_3_trace.log.1_t3 и
ndb_3_trace.log.1_t4 .
Внутренне, эти файлы трассировки следуют за тем же самым форматом, как
файлы трассировки
ndbd.
Коды выхода
ndbd
и сообщения, которые произведены, когда процесс узла данных закрывается
преждевременно, также используются
ndbmtd. См.
Data Node Error Messages.
Возможно использовать
ndbd и
ndbmtd одновременно на различных узлах данных в
том же самом NDB Cluster. Однако, такие конфигурации не были проверены
экстенсивно, таким образом мы не можем рекомендовать делать так в
производственном режиме в это время.
6.4. ndb_mgmd
NDB Cluster Management Server Daemon
Сервер управления это процесс, который читает файл кластерной конфигурации
и распределяет эту информацию всем узлам в группе, которые просят его.
Это также ведет журнал действий группы. Клиенты управления могут соединиться
с сервером управления и проверить статус группы.
Следующая таблица включает опции, которые являются определенными для
программы сервера управления
ndb_mgmd.
Дополнительные описания следуют за таблицей. Для опций, характерных для
большинства программ NDB Cluster
(включая
ndb_mgmd), см.
раздел 6.32.
Таблица 6.3. Параметры командной строки для ndb_mgmd
Формат | Описание |
Добавлено, устарело или удалено |
--bind-address=host
|
Локальный адрес. |
Все выпуски на основе MySQL 5.7 |
--config-cache[=TRUE|FALSE]
|
Позвольте кэш конфигурации сервера управления, TRUE по умолчанию. |
Все выпуски на основе MySQL 5.7 |
--config-file=file
(>=),
-f (>=)
|
Определите файл кластерной конфигурации, в NDB 6.4.0 и позже нужна опция
--reload или --initial, чтобы отвергнуть кэш конфигурации,
если он существует. |
Все выпуски на основе MySQL 5.7 |
--configdir=directory ,
--config-dir=directory (>=7.0.8)
|
Определите каталог кэша конфигурации сервера управления. |
Все выпуски на основе MySQL 5.7 |
--daemon ,
-d
|
Выполнить ndb_mgmd как демон (по умолчанию) |
Все выпуски на основе MySQL 5.7 |
--initial
|
Предписывает серверу управления перезагрузить его данные конфигурации от
конфигурационного файла, обходя кэш конфигурации. |
Все выпуски на основе MySQL 5.7 |
--install[=name]
|
Используется, чтобы установить процесс сервера управления как службу
Windows. Не применяется на платформах не-Windows. |
Все выпуски на основе MySQL 5.7 |
--interactive
|
Выполнить ndb_mgmd в интерактивном режиме (официально не поддержано в
производстве, только для целей тестирования) |
Все выпуски на основе MySQL 5.7 |
--log-name=name
|
Имя, чтобы использовать, создавая сообщения, относящиеся к этому
узлу в регистрации группы. |
Все выпуски на основе MySQL 5.7 |
--mycnf
|
Прочитать данные о кластерной конфигурации из файла my.cnf. |
Все выпуски на основе MySQL 5.7 |
--no-nodeid-checks
|
Не предоставлять идентификационные проверки узла. |
Все выпуски на основе MySQL 5.7 |
--nodaemon
|
Не выполнять ndb_mgmd как демон |
Все выпуски на основе MySQL 5.7 |
--nowait-nodes=list
|
Не ждать этих узлов управления, начиная этот сервер управления.
Также требует --ndb-nodeid. |
Все выпуски на основе MySQL 5.7 |
--print-full-config
,
-P
|
Напечатать полную конфигурацию и завершить работу. |
Все выпуски на основе MySQL 5.7 |
--reload
|
Заставляет сервер управления сравнивать конфигурационный файл со
своим кэшем конфигурации |
Все выпуски на основе MySQL 5.7 |
--remove[=name]
|
Используемый, чтобы удалить процесс сервера управления, который был ранее
установлен как служба Windows, произвольно определив название службы, которая
будет удалена. Не применяется на платформах не-Windows. |
Все выпуски на основе MySQL 5.7 |
--verbose ,
-v
|
Напишите дополнительную информацию в журнал. |
Все выпуски на основе MySQL 5.7 |
--bind-address=
host
Свойство |
Значение |
Формат командной строки |
--bind-address=host |
Тип |
String |
Умолчание |
[none] |
Заставляет сервер управления связываться с определенным сетевым
интерфейсом (имя хоста или IP-адрес). У этого выбора нет
значения по умолчанию.
--config-cache
Свойство |
Значение |
Формат командной строки |
--config-cache[=TRUE|FALSE] |
Тип |
Boolean |
Умолчание |
TRUE |
Этот выбор, значение по умолчанию которого 1
(TRUE или ON ),
может использоваться, чтобы разрушить кэш конфигурации сервера управления,
чтобы он прочитал свою конфигурацию от
config.ini
каждый раз, когда это начинается (см.
раздел 5.3).
Можно сделать это, начав процесс
ndb_mgmd
с любой из следующих опций:
--config-cache=0
--config-cache=FALSE
--config-cache=OFF
--skip-config-cache
Использование один из этих опций эффективно, только если у сервера
управления нет сохраненной конфигурации в то время, когда он начат.
Если сервер управления находит какие-либо файлы кэша конфигурации, то
--config-cache или
--skip-config-cache игнорируются.
Поэтому, чтобы отключить кэширование конфигурации, выбор должен
использоваться в первый
раз, когда сервер управления начат. Иначе то есть, если вы хотите отключить
кэширование конфигурации для сервера управления, который
уже создал кэш конфигурации,
необходимо остановить сервер управления, удалить любые существующие файлы
кэша конфигурации вручную, затем перезапустить сервер управления с опцией
--skip-config-cache (или
--config-cache = 0,
OFF или FALSE ).
Файлы кэша конфигурации обычно создаются в каталоге
mysql-cluster в соответствии с инсталляционным
каталогом (если это местоположение не было отвергнуто, используя опцию
--configdir ). Каждый раз, когда сервер управления обновляет свои
данные конфигурации, он пишет новый файл кэша. Файлы называют последовательно
в порядке создания, используя следующий формат:
ndb_node-id_config.bin.seq-number
node-id ID узла сервера
управления, seq-number
порядковый номер, начиная с 1. Например, если ID узла сервера управления
равняется 5, то первые три файла кэша конфигурации, когда они создаются,
назвали бы ndb_5_config.bin.1 ,
ndb_5_config.bin.2 и
ndb_5_config.bin.3 .
Если ваше намерение состоит в том, чтобы произвести чистку или
перезагрузить кэш конфигурации, на самом деле не отключая кэширование,
необходимо начать
ndb_mgmd
с одной из опций
--reload или
--initial вместо
--skip-config-cache .
Чтобы повторно включить кэш конфигурации, просто перезапустите сервер
управления, но без --config-cache или
--skip-config-cache , которая использовалась
ранее, чтобы разрушить кэш конфигурации.
ndb_mgmd
не проверяет каталог конфигурации
(
--configdir ) или пытается создать его, когда используется
--skip-config-cache (Bug #13428853).
--config-file=
filename , -f
filename
Свойство |
Значение |
Формат командной строки |
--config-file=file |
Тип |
Имя файла |
Умолчание |
[none] |
Инструктирует сервер управления, который файл это должно использовать для
конфигурации. По умолчанию сервер управления ищет файл
config.ini в том же самом каталоге, где
ndb_mgmd,
иначе имя файла и местоположение должны быть определены явно.
Этот выбор не имеет никакого значения по умолчанию и проигнорирован, если
сервер управления не вынужден прочитать конфигурационный файл, потому
что
ndb_mgmd запущен с
--reload или
--initial или потому что сервер управления не мог найти кэш
конфигурации. Этот выбор также прочитан, если
ndb_mgmd запущен с
--config-cache=OFF . См.
раздел 5.3.
--configdir=
dir_name
Свойство |
Значение |
Формат командной строки |
--configdir=directory
--config-dir=directory
|
Тип |
Имя файла |
Умолчание |
$INSTALLDIR/mysql-cluster |
Определяет каталог кэша конфигурации сервера управления.
--config-dir псевдоним для этого выбора.
--daemon , -d
Свойство |
Значение |
Формат командной строки |
--daemon |
Тип |
Boolean |
Умолчание |
TRUE |
Предписыввает
ndb_mgmd
начинаться как процесс демона. Это поведение по умолчанию.
Этот выбор не имеет никакого эффекта, выполняя
ndb_mgmd
в Windows.
--initial
Свойство |
Значение |
Формат командной строки |
--initial |
Тип |
Boolean |
Умолчание |
FALSE |
Данные конфигурации кэшируются внутренне, вместо того, чтобы быть
прочитанными из глобального конфигурационного файла каждый раз, когда сервер
управления начат (см.
раздел 5.3).
Используование --initial
отвергает это поведение, вынуждая сервер управления удалить любые
существующие файлы кэша, и затем перечитать данные конфигурации из
файла кластерной конфигурации и построить новый кэш.
Это отличается двумя местами от
--reload . Во-первых, --reload
вынуждает сервер сравнить конфигурационный файл с кэшем и перезагрузить его
данные, только если содержание файла отличается от кэша. Во-вторых,
--reload
не удаляет существующих файлов кэша.
Если
ndb_mgmd вызван с
--initial ,
но не может найти глобальный конфигурационный файл, сервер управления
не может запуститься.
Когда сервер управления запускается, он проверяет на другой сервер
управления в том же самом кластере и пытается использовать данные
конфигурации другого сервера управления. Это поведение имеет последствия,
выполняя катящийся перезапуск NDB Cluster
с многократными узлами управления. Посмотрите
раздел 7.5.
Когда используется вместе с
--config-file , кэш очищен, только если конфигурационный файл на
самом деле найден.
--install[=name
]
Свойство |
Значение |
Формат командной строки |
--install[=name] |
Платформа |
Windows |
Тип |
String |
Умолчание |
ndb_mgmd |
Предписывает
ndb_mgmd
быть установленным как служба Windows. Произвольно можно определить название
сервиса, если не задано, это ndb_mgmd .
Хотя предпочтительно определить другие опции
ndb_mgmd в
my.ini или my.cnf
, возможно использовать их вместе с
--install . Однако, в таких случаях выбор
--install
должен быть определен сначала, прежде чем любые другие опции даны для
установки службы Windows.
Обычно нежелательно использовать этот выбор вместе с
--initial ,
так как это заставляет кэш конфигурации быть стертым
каждый раз, когда обслуживание остановлено и начато.
Нужно также соблюдать осторожность, если вы намереваетесь использовать
какие-либо другие опции
ndb_mgmd,
которые затрагивают запуск сервера управления, и необходимо быть абсолютно
уверенным, что вы полностью понимаете и допускаете любые
возможные последствия выполнения.
Опция
--install
не имеет никакого эффекта на платформах не-Windows.
--interactive
Свойство |
Значение |
Формат командной строки |
--interactive |
Тип |
Boolean |
Умолчание |
FALSE |
Запускает
ndb_mgmd
в интерактивном режиме, то есть, сессия клиента
ndb_mgm
начата, как только сервер управления работает. Этот выбор не начинает
никакие другие узлы NDB Cluster.
--log-name=name
Свойство |
Значение |
Формат командной строки |
--log-name=name |
Тип |
String |
Умолчание |
MgmtSrvr |
Обеспечивает имя, которое будет использоваться для
этого узла в журнале.
--mycnf
Свойство |
Значение |
Формат командной строки |
--mycnf |
Тип |
Boolean |
Умолчание |
FALSE |
Прочитать данные конфигурации из файла
my.cnf .
--no-nodeid-checks
Свойство |
Значение |
Формат командной строки |
--no-nodeid-checks |
Тип |
Boolean |
Умолчание |
FALSE |
Не выполнять проверки ID узла.
--nodaemon
Свойство |
Значение |
Формат командной строки |
--nodaemon |
Тип |
Boolean |
Умолчание |
FALSE |
Не начинать
ndb_mgmd
как процесс демона.
Поведение по умолчанию для
ndb_mgmd в Windows это
работать на переднем плане, делая этот выбор ненужным
на платформах Windows.
--nowait-nodes
Свойство |
Значение |
Формат командной строки |
--nowait-nodes=list |
Тип |
Numeric |
Умолчание |
|
Минимум |
1 |
Максимум |
255 |
Когда старт NDB Cluster формируется с двумя узлами управления, каждый
сервер управления обычно проверяет, готов ли другой
ndb_mgmd
также к эксплуатации и идентична ли конфигурация другого сервера управления.
Однако, иногда желательно начать группу только с одного узла управления (и
возможно позволить другому
ndb_mgmd
быть начатым позже). Этот выбор заставляет узел управления обходить любые
проверки на любые другие узлы управления, ID узла которых передаются к этому
выбору, разрешая кластеру, как будто он формируем, чтобы использовать только
узел управления, который был начат.
В целях иллюстрации рассмотрите следующую часть
config.ini (где мы опустили большинство
параметров конфигурации, которые не относятся к этому примеру):
[ndbd]
NodeId = 1
HostName = 198.51.100.101
[ndbd]
NodeId = 2
HostName = 198.51.100.102
[ndbd]
NodeId = 3
HostName = 198.51.100.103
[ndbd]
NodeId = 4
HostName = 198.51.100.104
[ndb_mgmd]
NodeId = 10
HostName = 198.51.100.150
[ndb_mgmd]
NodeId = 11
HostName = 198.51.100.151
[api]
NodeId = 20
HostName = 198.51.100.200
[api]
NodeId = 21
HostName = 198.51.100.201
Предположите, что вы хотите начать этот кластер, используя только сервер
управления, имеющий ID узла 10
на хосте, имеющем IP-адрес 198.51.100.150. Предположим, например, что
компьютер, который вы предназначаете другому серверу управления, временно
недоступен из-за отказа оборудования, и вы ждете его восстановления.
Чтобы начать работу таким образом, используйте командную строку на машине
198.51.100.150:
shell> ndb_mgmd --ndb-nodeid=10 --nowait-nodes=11
Как показано в предыдущем примере, используя
--nowait-nodes , необходимо также использовать
--ndb-nodeid , чтобы определить ID узла этого процесса
ndb_mgmd.
Можно тогда начать каждый из узлов данных обычным способом. Если вы хотите
начать и использовать второй сервер управления в дополнение к первому серверу
управления в более позднее время, не перезапуская узлы данных, необходимо
начать каждый узел данных со строки подключения, которая ссылается на
оба сервера управления:
shell> ndbd -c 198.51.100.150,198.51.100.151
То же самое верно относительно строки подключения, используемой с любыми
процессами mysqld,
которые вы хотите начать как узлы SQL NDB Cluster. Посмотрите
раздел 5.3.3.
Когда используется с
ndb_mgmd,
этот выбор затрагивает поведение узла управления только относительно
других узлов управления. Не путайте его с
--nowait-nodes в ситуации с
ndbd или
ndbmtd, который
разрешает кластеру запуск с меньше, чем полным набором
узлов данных: когда используется с узлами данных, этот выбор затрагивает их
поведение только относительно других узлов данных.
Многократные ID узла управления могут быть переданы к этому выбору как
список разделенных запятой значений. Каждый ID узла должен быть не менее 1 и
не больше 255. На практике довольно редко стоит использовать больше, чем два
сервера управления для той же самого кластера. В большинстве случаев
необходимо передать к этому выбору только единственный ID узла для одного
сервера управления, который вы не хотите использовать сразу.
Когда вы позже начинаете недостающий
сервер управления, его конфигурация должна соответствовать конфигурации
сервера управления, который уже используется.
Иначе это провалит проверку конфигурации, выполненную существующим сервером
управления, и не начинается.
--print-full-config ,
-P
Свойство |
Значение |
Формат командной строки |
--print-full-config |
Тип |
Boolean |
Умолчание |
FALSE |
Показать расширенную информацию относительно конфигурации.
С этим выбором в командной строке
ndb_mgmd
обрабатывает информацию об установке кластера,
включая обширный список секций кластерной конфигурации, а также
параметров и их значений. Обычно используется вместе с
--config-file
(-f ).
--reload
Свойство |
Значение |
Формат командной строки |
--reload |
Тип |
Boolean |
Умолчание |
FALSE |
Данные о кластерной конфигурации хранятся внутренне вместо того, чтобы
быть прочитанными из глобального конфигурационного файла каждый раз, когда
сервер управления начат (см.
раздел 5.3).
Использование этой опции заставляет сервер управления сравнить
его внутреннее хранилище данных с файлом кластерной конфигурации и
перезагрузить конфигурацию, если это находит, что конфигурационный файл не
соответствует кэшу. Существующие файлы кэша конфигурации сохраняются,
но не используются.
Это отличается от опции
--initial . Во-первых, при
--initial все файлы кэша будут удалены.
Во-вторых, --initial вынуждает сервер управления
перечитать глобальный конфигурационный файл и построить новый кэш.
Если сервер управления не может найти глобальный конфигурационный файл, то
--reload игнорируется.
При использовании --reload
сервер управления должен быть в состоянии общаться с узлами данных и любыми
другими серверами управления прежде, чем это попытается прочитать глобальный
конфигурационный файл, иначе сервер управления не запускается. Это может
произойти из-за изменений в сетевой среде, таких как новые IP-адреса для
узлов или измененной конфигурации брандмауэра.
В таких случаях необходимо использовать
--initial , чтобы отказаться от кэша
и перезагрузить конфигурацию из файла. Посмотрите
раздел 7.5.
--remove{=name]
Свойство |
Значение |
Формат командной строки |
--remove[=name] |
Платформа |
Windows |
Тип |
String |
Умолчание |
ndb_mgmd |
Удалите процесс сервера управления, который был установлен как служба
Windows, произвольно определив название службы, которая будет удалена.
Применяется только к платформам Windows.
--verbose , -v
Свойство |
Значение |
Формат командной строки |
--verbose |
Тип |
Boolean |
Умолчание |
FALSE |
Выводить дополнительную информацию в журнал кластера.
Не строго необходимо определить строку подключения, начиная сервер
управления. Однако, если вы используете больше, чем один сервер управления,
строка подключения должна быть обеспечена, и каждый узел должен определить
свой ID явно.
См. раздел 5.3.3
для получения информации об использовании строк подключения.
Раздел 6.4
описывает другие возможности для
ndb_mgmd.
Следующие файлы создаются или используются
ndb_mgmd в его начальном каталоге и помещаются в
DataDir как определено в
в config.ini .
В списке ниже node_id это
уникальный идентификатор узла.
config.ini конфигурационный файл для кластера
в целом. Этот файл создается пользователем и читается сервером управления.
Глава 5 обсуждает, как настроить этот файл.
ndb_node_id_cluster.log это файл журнала событий. Примеры таких
событий включают запуск и завершение контрольной точки, события запуска узла,
неудачи узла и уровни использования памяти. Полный список событий с
описаниями может быть найден в главе 7.
По умолчанию, когда размер регистрации группы достигает одного миллиона
байтов, файл переименован в
ndb_node_id
_cluster.log.seq_id, где
seq_id порядковый номер файла
журнала группы. Например, если файлы с порядковыми номерами 1, 2, и 3 уже
существуют, следующий файл журнала называют, используя число
4 . Можно изменить размер и количество файлов
и другие особенности регистрации, используя параметр
LogDestination .
ndb_node_id
_out.log файл, используемый для
stdout и
stderr ,
управляя сервером управления как демоном.
ndb_node_id
.pid
файл ID процесса, используемый, управляя сервером управления как демоном.
6.5. ndb_mgm
NDB Cluster Management Client
ndb_mgm
клиентский процесс управления на самом деле не так уж необходим, чтобы
управлять кластером. Его значение находится в обеспечении ряда команд для
проверки статуса, старта резервных копий и выполнения других административных
функций. Клиент управления получает доступ к серверу управления, используя
API C. Опытные пользователи могут также использовать этот API для
программирования специальных процессов управления, чтобы выполнить задачи,
подобные выполненным
ndb_mgm.
Чтобы начать клиента управления, необходимо поставлять имя хоста и номер
порта сервера управления:
shell> ndb_mgm [host_name [port_num]]
Например вот так:
shell> ndb_mgm ndb_mgmd.mysql.com 1186
Имя хоста по умолчанию и номер порта
localhost и 1186.
Следующая таблица включает опции, которые являются определенными
для программы клиента управления NDB Cluster
ndb_mgm.
Дополнительные описания следуют за таблицей. Для опций, характерных для
большинства программ NDB Cluster
(включая
ndb_mgm), см.
раздел 6.32.
Таблица 6.4. Параметры командной строки для ndb_mgm
Формат | Описание |
Добавлено, устарело или удалено |
--try-reconnect=# ,
-t
|
Установите сколько раз повторять связь перед отказом, синоним для
--connect-retries. |
Все выпуски на основе MySQL 5.7 |
--execute=name ,
-e
|
Выполнить команду и выйти. |
Все выпуски на основе MySQL 5.7 |
--connect-retries=
#
Свойство |
Значение |
Формат командной строки |
--connect-retries=# |
Тип |
Numeric |
Умолчание |
3 |
Минимум |
0 |
Максимум |
4294967295 |
Этот выбор определяет сколько раз после первой попытки повторить связь
перед отказом (клиент всегда пробует связь, по крайней мере, однажды).
Отрезок времени, чтобы ждать на попытку установлен, используя
--connect-retry-delay .
Этот выбор синонимичен
--try-reconnect , которая устарела.
Умолчание для этого выбора отличается от его умолчания, когда
используется с другими программами NDB , см.
раздел 6.32
.
--execute=command ,
-e command
Свойство |
Значение |
Формат командной строки |
--execute=name |
Этот выбор может использоваться, чтобы послать команду клиенту управления
NDB Cluster от системной оболочки. Например, любое из следующего эквивалентно
выполнению SHOW
в клиенте управления:
shell> ndb_mgm -e "SHOW"
shell> ndb_mgm --execute="SHOW"
Это походит на
--execute или
-e в клиенте
mysql. См.
Using Options on the Command Line.
Если команда клиента управления, которая будет передана, используя этот
выбор, содержит какие-либо пробелы, то команда
должна быть приложена в кавычках.
Могут использоваться единственные или двойные кавычки. Если команда клиента
управления не содержит пробелов, кавычки необязательны.
--try-reconnect=
number
Свойство |
Значение |
Формат командной строки |
--try-reconnect=# |
Устарело |
Да |
Тип
(>= 5.7.10-ndb-7.5.0) |
Numeric |
Тип |
Integer |
Умолчание
(>= 5.7.10-ndb-7.5.0) |
12 |
Умолчание |
3 |
Минимум |
0 |
Максимум |
4294967295 |
Если связь с сервером управления сломана, узел пытается снова соединиться
с ним каждые 5 секунд, пока это не имеет успеха. При помощи этого выбора
возможно ограничить количество попыток числом
number
перед отказом и сообщением об ошибке.
Этот выбор устарел и будет удален в будущем выпуске. Надо использовать
--connect-retries .
Дополнительная информация об использовании
ndb_mgm может быть найдена в
разделе 7.2.
6.6. ndb_blob_tool
Проверка и ремонт столбцов BLOB и TEXT в NDB Cluster
Этот инструмент может использоваться, чтобы проверить и удалить
потерянные части колонки BLOB из таблиц
NDB ,
а также произвести файл, перечисляющий любые потерянные части.
Это иногда полезно в диагностировании и восстановлении испорченных или
поврежденных таблиц NDB со столбцами
BLOB или
TEXT .
Базовый синтаксис для
ndb_blob_tool:
ndb_blob_tool [options]
table
[column, ...]
Если вы не используете опцию
--help , необходимо определить действие,
которое будет выполнено включением опций
--check-orphans ,
--delete-orphans или
--dump-file . Эти опции заставляют
ndb_blob_tool
проверять на потерянные части BLOB, удалять любые потерянные части BLOB и
производить файл дампа, перечисляющий потерянные части BLOB, соответственно,
и описаны более подробно позже в этой секции.
Необходимо также определить название таблицы, вызывая
ndb_blob_tool.
Кроме того, можно произвольно следовать за именем таблицы с (отделенными
запятой) названиями одного или больше столбцов
BLOB или
TEXT .
Если никакие колонки не перечисляются, инструмент работает со всеми столбцами
BLOB и
TEXT в таблице.
Если необходимо определить базу данных, используйте опцию
--database (-d ).
Опция
--verbose
выбор предоставляет дополнительную информацию в
выводе о прогрессе инструмента.
Следующая таблица включает опции, которые являются определенными для
ndb_blob_tool.
Таблица 6.5. Параметры командной строки для ndb_blob_tool
Формат | Описание |
Добавлено, устарело или удалено |
--add-missing
|
Напишите фиктивные части, чтобы заменить те, которые отсутствуют. |
Добавлено в NDB 7.5.18, NDB 7.6.14. |
--check-missing
|
Проверьте на объекты, имеющие действующие части, но пропускающие одну или
более частей таблицы. |
Добавлено в NDB 7.5.18, NDB 7.6.14. |
--check-orphans
|
Проверьте на части, имеющие соответствующие действующие части. |
Все выпуски на основе MySQL 5.7 |
--database=db_name
,
-d
|
База данных, чтобы найти таблицу. |
Все выпуски на основе MySQL 5.7 |
--delete-orphans
|
Удалите части, имеющие соответствующие действующие части. |
Все выпуски на основе MySQL 5.7 |
--dump-file=file
|
Напишите потерянные ключи к указанному файлу. |
Все выпуски на основе MySQL 5.7 |
--verbose ,
-v
|
Подробный отчет в выводе. |
Все выпуски на основе MySQL 5.7 |
--add-missing
Свойство |
Значение |
Формат командной строки |
--add-missing |
Добавлено в
| 5.7.29-ndb-7.6.14 |
Тип |
Boolean |
Умолчание |
FALSE |
Для каждой действующей части в таблицах NDB Cluster, у которой нет
соответствующей части BLOB, напишите фиктивную часть BLOB необходимой длины,
состоящую из пробелов.
--check-missing
Свойство |
Значение |
Формат командной строки |
--check-missing |
Добавлено в
| 5.7.29-ndb-7.6.14 |
Тип |
Boolean |
Умолчание |
FALSE |
Проверьте на действующие части в таблицах NDB Cluster, у которых
нет соответствующих частей BLOB.
--check-orphans
Свойство |
Значение |
Формат командной строки |
--check-orphans |
Тип |
Boolean |
Умолчание |
FALSE |
Проверьте на части BLOB в таблицах NDB Cluster, у которых нет
соответствующих действующих частей.
--database=
db_name , -d
Свойство |
Значение |
Формат командной строки |
--database=db_name |
Тип |
String |
Умолчание |
[none] |
Определите базу данных, чтобы найти таблицу.
--delete-orphans
Свойство |
Значение |
Формат командной строки |
--delete-orphans |
Тип |
Boolean |
Умолчание |
FALSE |
Удалите части BLOB из таблиц NDB Cluster, у которых нет
соответствующих действующих частей.
--dump-file=file
Свойство |
Значение |
Формат командной строки |
--dump-file=file |
Тип |
Имя файла |
Умолчание |
[none] |
Написасать список потерянных частей колонки BLOB в
file.
Информация, написанная в файл, включает ключ таблицы и номер детали BLOB для
каждой потерянной части BLOB.
--verbose
Свойство |
Значение |
Формат командной строки |
--verbose |
Тип |
Boolean |
Умолчание |
FALSE |
Предоставьте дополнительную информацию в выводе
инструмента относительно прогресса.
Примеры
Сначала мы создаем таблицу NDB в БД
test , используя
CREATE TABLE :
USE test;
CREATE TABLE btest (c0 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
c1 TEXT, c2 BLOB) ENGINE=NDB;
Тогда мы вставляем несколько строк в эту таблицу, используя ряд
запросов, подобных этому:
INSERT INTO btest VALUES (NULL, 'x', REPEAT('x', 1000));
При работе с
--check-orphans для этой таблицы
ndb_blob_tool
производит следующий вывод:
shell> ndb_blob_tool --check-orphans --verbose -d test btest
connected
processing 2 blobs
processing blob #0 c1 NDB$BLOB_19_1
NDB$BLOB_19_1: nextResult: res=1
total parts: 0
orphan parts: 0
processing blob #1 c2 NDB$BLOB_19_2
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=1
total parts: 10
orphan parts: 0
disconnected
NDBT_ProgramExit: 0 - OK
Инструмент сообщает, что нет частей колонки BLOB,
связанных с колонкой c1 даже при том, что
c1 это
TEXT .
Это вследствие того, что в таблице
NDB
только первые 256 байтов
BLOB или
TEXT
сохранены напрямую, а избыток, если есть, сохранен отдельно, таким образом,
при отсутствии значений, использующих больше 256 байтов в данной колонке
одного из этих типов, нет частей BLOB ,
создаваемых NDB для этой колонки. См.
Data Type Storage Requirements.
6.7. ndb_config
Распаковка информации конфигурации NDB Cluster
Этот инструмент извлекает текущую конфигурационную информацию для узлов
данных, узлов SQL и узлов API из одного из многих источников: узел управления
NDB Cluster или файл config.ini (или
my.cnf ).
По умолчанию узел управления это источник для данных конфигурации, чтобы
отвергнуть умолчание, используйте опцию
--config-file или
--mycnf
. Также возможно использовать узел данных в качестве источника,
определяя его ID с
--config_from_node=
node_id .
ndb_config
может также обеспечить офлайновый дамп
всех параметров конфигурации, которые могут использоваться, наряду с их
умолчанием, максимумом и минимумом, а также другой информацией.
Дамп может быть произведен в тексте или в формате XML, для получения
дополнительной информации посмотрите обсуждение
--configinfo и
--xml .
Можно отфильтровать результаты секцией (DB ,
SYSTEM или
CONNECTIONS ) использованием одной из опций
--nodes ,
--system или
--connections .
Следующая таблица включает опции, которые являются определенными для
ndb_config.
Таблица 6.6. Параметры командной строки для ndb_config
Формат | Описание |
Добавлено, устарело или удалено |
--config-file=file_name
|
Установите путь к файлу config.ini |
Все выпуски на основе MySQL 5.7 |
--config_from_node=#
|
Получите данные конфигурации из узла, имеющего этот ID
(это должен быть узел данных). |
Все выпуски на основе MySQL 5.7 |
--configinfo
|
Дамп информации обо всех параметрах конфигурации NDB в текстовом формате
с умолчанием, максимумом и минимумом. Используйте с --xml,
чтобы получить вывод XML. |
Все выпуски на основе MySQL 5.7 |
--connections
|
Информация только о связях (разделы [tcp], [tcp default], [shm] или [shm
default] файла кластерной конфигурации).
Не может использоваться с --system или --nodes. |
Все выпуски на основе MySQL 5.7 |
--diff-default
|
Только параметры конфигурации, у которых есть значения
не по умолчанию. |
Добавлено в NDB 7.5.7, NDB 7.6.3 |
--fields=string
,
-f
|
Разделитель полей. |
Все выпуски на основе MySQL 5.7 |
--host=name
|
Указать хост. |
Все выпуски на основе MySQL 5.7 |
--mycnf
|
Прочитайте данные конфигурации из my.cnf |
Все выпуски на основе MySQL 5.7 |
--nodeid ,
--id
|
Получите конфигурацию узла с этим ID. |
Все выпуски на основе MySQL 5.7 |
--nodes
|
Информация только об узле (разделы [ndbd] или [ndbd default]).
Не может использоваться с --system или --connections. |
Все выпуски на основе MySQL 5.7 |
-c
|
Краткая форма --ndb-connectstring |
Все выпуски на основе MySQL 5.7 |
--query=string ,
-q
|
Одна или более опций запроса (признаки) |
Все выпуски на основе MySQL 5.7 |
--query-all
,
-a
|
Дамп всех параметров и значений к единственной
разграниченной запятой последовательности. |
Добавлено в NDB 7.4.16, NDB 7.5.7 |
--rows=string ,
-r
|
Разделитель строк |
Все выпуски на основе MySQL 5.7 |
--system
|
Напечатайте информацию только о секции SYSTEM (см. вывод
ndb_config --configinfo). Не может использоваться с
--nodes или --connections. |
Все выпуски на основе MySQL 5.7 |
--type=name
|
Определите тип узла |
Все выпуски на основе MySQL 5.7 |
--configinfo
--xml
|
Используйте --xml с --configinfo, чтобы получить дамп всех
параметров конфигурации NDB в формате XML с умолчанием,
максимумом и минимальными значениями. |
Все выпуски на основе MySQL 5.7 |
--configinfo
--configinfo предписывает
ndb_config
сдампить список каждого параметра конфигурации NDB Cluster, поддержанного
NDB Cluster, включая следующую информацию:
Краткое описание цели каждого
параметра, эффектов и использования
Раздел файла config.ini ,
где параметр может использоваться
Тип данных параметра или единица измерения
Где применимо, умолчание параметра,
минимум и максимальные значения
Версия NDB Cluster
По умолчанию вывод в текстовом формате.
Часть этого вывода показывают здесь:
shell> ndb_config --configinfo
****** SYSTEM ******
Name (String)
Name of system (NDB Cluster)
MANDATORY
PrimaryMGMNode (Non-negative Integer)
Node id of Primary ndb_mgmd(MGM) node
Default: 0 (Min: 0, Max: 4294967039)
ConfigGenerationNumber (Non-negative Integer)
Configuration generation number
Default: 0 (Min: 0, Max: 4294967039)
****** DB ******
MaxNoOfSubscriptions (Non-negative Integer)
Max no of subscriptions (default 0 == MaxNoOfTables)
Default: 0 (Min: 0, Max: 4294967039)
MaxNoOfSubscribers (Non-negative Integer)
Max no of subscribers (default 0 == 2 * MaxNoOfTables)
Default: 0 (Min: 0, Max: 4294967039)
Используйте этот выбор вместе с
--xml , чтобы
получить вывод в формате XML.
--config-file=
path-to-file
Свойство |
Значение |
Формат командной строки |
--config-file=file_name |
Тип |
Имя файла |
Умолчание |
|
Дает путь к конфигурационному файлу сервера управления
(config.ini ).
Это может быть относительным или абсолютным путем. Если узел управления не на
том хосте, где вызван
ndb_config,
то абсолютный путь должен использоваться.
--config_from_node=#
Свойство |
Значение |
Формат командной строки |
--config-from-node=# |
Тип |
Numeric |
Умолчание |
none |
Минимум |
1 |
Максимум |
48 |
Получите данные конфигурации группы из узла данных, у которого
есть этот ID.
Если узел, имеющий этот ID, не является узлом данных,
ndb_config
терпит неудачу с ошибкой. Чтобы получить данные конфигурации из узла
управления, просто опустите эту опцию.
--connections
Свойство |
Значение |
Формат командной строки |
--connections |
Тип |
Boolean |
Умолчание |
FALSE |
Говорит
ndb_config
печатать только информацию CONNECTIONS ,
то есть, информацию о параметрах, найденных в разделах
[tcp] ,
[tcp default] ,
[shm] или
[shm default] файла кластерной конфигурации (см.
разделы 5.3.10 и
5.3.12).
Этот выбор взаимоисключающий с
--nodes и
--system .
--diff-default
Свойство |
Значение |
Формат командной строки |
--diff-default |
Добавлено в
| 5.7.18-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
FALSE |
Напечатайте только параметры конфигурации, у которых есть значения
не по умолчанию.
--fields=
delimiter ,
-f delimiter
Свойство |
Значение |
Формат командной строки |
--fields=string |
Тип |
String |
Умолчание |
|
Определяет delimiter
последовательность, чтобы разделить поля в результате. Умолчание
, (запятая).
Если delimiter
содержит пробелы или управляющие символы
(например, \n для
перевода строки), тогда это должно быть цитировано.
--host=hostname
Свойство |
Значение |
Формат командной строки |
--host=name |
Тип |
String |
Умолчание |
|
Определяет имя хоста узла, для которого должна быть получена
конфигурационная информация.
В то время как имя хоста localhost
обычно разрешается как IP-адрес 127.0.0.1 ,
это может не обязательно быть верно для всех операционных платформ и
конфигураций. Это означает, что возможно, когда
localhost используется в
config.ini для
ndb_config
--host=localhost
потерпеть неудачу, если
ndb_config
работает на другом хосте, где
localhost другой адрес
(например, на некоторых версиях SUSE Linux это
127.0.0.2 ).
В целом, для лучших результатов, необходимо использовать числовые IP-адреса
для всех значений конфигурации NDB, касающихся хостов,
или проверить, что все хосты NDB Cluster обращаются с
localhost тем же самым способом.
--mycnf
Свойство |
Значение |
Формат командной строки |
--mycnf |
Тип |
Boolean |
Умолчание |
FALSE |
Прочитайте данные конфигурации из my.cnf .
--ndb-connectstring=connection_string ,
-c connection_string
Свойство |
Значение |
Формат командной строки |
--ndb-connectstring=connectstring
--connect-string=connectstring
|
Тип |
String |
Умолчание |
localhost:1186 |
Определяет строку подключения, чтобы использовать в соединении с сервером
управления. Формат для строки подключения совпадает с описанным в
разделе 5.3.3, по
умолчанию localhost:1186 .
--nodeid=
node_id
Свойство |
Значение |
Формат командной строки |
--ndb-nodeid=# |
Тип |
Numeric |
Умолчание |
0 |
Определите узел ID узла, для которого должна быть получена
конфигурационная информация. Раньше --id
могла использоваться в качестве синонима для этого выбора,
в NDB 7.5 и позже единственная принятая форма
--nodeid .
--nodes
Свойство |
Значение |
Формат командной строки |
--nodes |
Тип |
Boolean |
Умолчание |
FALSE |
Говорит
ndb_config
печатать информацию, имеющую отношение только к параметрам, определенным в
разделах [ndbd] или
[ndbd default] файла кластерной конфигурации
(см.
раздел 5.3.6).
Этот выбор взаимоисключающий с
--connections и
--system .
--query=
query-options ,
-q
query-options
Свойство |
Значение |
Формат командной строки |
--query=string |
Тип |
String |
Умолчание |
|
Это разграниченный запятыми список
опций запроса
то есть, список из одного или более признаков узла, которые будут возвращены.
Они включают nodeid (ID узла), type (тип узла то
есть, ndbd ,
mysqld или
ndb_mgmd )
и любые параметры конфигурации, значения которых должны быть получены.
Например, --query=nodeid,type,datamemory,datadir
возвращает ID узла, тип узла,
DataMemory и
DataDir для каждого узла.
Раньше id был принят как синоним для
for nodeid , но был удален в NDB 7.5 и позже.
Если данный параметр не применим к определенному типу узла, пустая строка
возвращена для соответствующего значения. Посмотрите примеры позже в этой
секции для получения дополнительной информации.
--query-all , -a
Свойство |
Значение |
Формат командной строки |
--query-all |
Добавлено в
| 5.7.18-ndb-7.5.7 |
Тип |
String |
Умолчание |
|
Возвращает разграниченный запятой список всех опций запроса (признаков
узла, обратите внимание на то, что этот список единая последовательность).
Этот выбор был введен в NDB 7.5.7 (Bug #60095, Bug #11766869).
--rows=
separator ,
-r
separator
Свойство |
Значение |
Формат командной строки |
--rows=string |
Тип |
String |
Умолчание |
|
Определяет separator,
последовательность для разделения строк в результате. Умолчание пробел.
Если separator содержит
пробелы или управляющие символы (например, \n
для перевода строки), тогда это должно быть цитировано.
--system
Свойство |
Значение |
Формат командной строки |
--system |
Тип |
Boolean |
Умолчание |
FALSE |
Говорит
ndb_config печатать только
информацию SYSTEM . Это состоит из системных
переменных, которые не могут быть изменены во время выполнения, таким образом
нет никакого соответствующего раздела файла кластерной конфигурации для них.
Они имеют префикс ****** SYSTEM ******
в выводе
ndb_config
--configinfo .
Этот выбор взаимоисключающий с
--nodes и
--connections .
--type=
node_type
Свойство |
Значение |
Формат командной строки |
--type=name |
Тип |
Enumeration |
Умолчание |
[none] |
Допустимые значения
| ndbd
mysqld
ndb_mgmd
|
Фильтровать, чтобы только значения конфигурации, относящиеся к узлам
указанного типа node_type
(ndbd , mysqld или
ndb_mgmd ) вернулись.
--usage , --help или
-?
Свойство |
Значение |
Формат командной строки |
--help
--usage
|
Вывести справку об опциях.
--version , -V
Свойство |
Значение |
Формат командной строки |
--version |
Вывести информацию о версии.
--configinfo
--xml
Свойство |
Значение |
Формат командной строки |
--configinfo --xml |
Тип |
Boolean |
Умолчание |
false |
Предписывает
ndb_config
--configinfo обеспечивать вывод как XML.
Часть такого вывода показывают в этом примере:
shell> ndb_config --configinfo --xml
<configvariables protocolversion="1" ndbversionstring="5.7.29-ndb-7.5.17"
ndbversion="460032" ndbversionmajor="7" ndbversionminor="5"
ndbversionbuild="0">
<section name="SYSTEM">
<param name="Name" comment="Name of system (NDB Cluster)" type="string"
mandatory="true"/>
<param name="PrimaryMGMNode" comment="Node id of Primary ndb_mgmd(MGM) node"
type="unsigned" default="0" min="0" max="4294967039"/>
<param name="ConfigGenerationNumber" comment="Configuration generation number"
type="unsigned" default="0" min="0" max="4294967039"/>
</section>
<section name="MYSQLD" primarykeys="NodeId">
<param name="wan" comment="Use WAN TCP setting as default" type="bool"
default="false"/>
<param name="HostName" comment="Name of computer for this node"
type="string" default=""/>
<param name="Id" comment="NodeId" type="unsigned" mandatory="true"
min="1" max="255" deprecated="true"/>
<param name="NodeId" comment="Number identifying application node
(mysqld(API))" type="unsigned" mandatory="true" min="1" max="255"/>
<param name="ExecuteOnComputer" comment="HostName" type="string"
deprecated="true"/>
</section>
</configvariables>
Обычно вывод XML
ndb_config
--configinfo --xml
отформатирован, используя одну строку на элемент, мы добавили дополнительные
пробелы в предыдущем примере, а также следующем, по причинам четкости. Это не
должно иметь никакого значения для приложений, использующих этот вывод, так
как большинство процессоров XML игнорирует несущественные пробелы
как само собой разумеющееся или им может быть приказано сделать это.
Вывод XML также указывает, когда изменение данного параметра требуется,
чтобы узлы данных были перезапущены, используя
--initial . Это показывает присутствие
initial="true" в соответствующем элементе
<param> . Кроме того, тип перезапуска
(system или
node ) также показан: если данный параметр
требует системного перезапуска, это обозначается присутствием
restart="system" в соответствующем элементе
<param> . Например, изменение значения
для параметра
Diskless
требует системного начального перезапуска, как показано здесь (с
restart и
initial ):
<param name="Diskless" comment="Run wo/ disk" type="bool" default="false"
restart="system" initial="true"/>
В настоящее время нет признака initial
в выводе XML для элементов <param> ,
соответствующих параметрам, которые не требуют начальных перезапусков,
другими словами, initial="false" умолчание,
значение false должно быть принято, если признак
не присутствует. Точно так же тип перезапуска по умолчанию
node (то есть, online или
rolling перезапуск кластера), но атрибут
restart включен, только если тип перезапуска
system (подразумевает, что все узлы должны быть
закрыты в то же время, затем перезапущены).
Устаревшие параметры обозначаются в выводе XML атрибутом
deprecated :
<param name="NoOfDiskPagesToDiskAfterRestartACC"
comment="DiskCheckpointSpeed" type="unsigned" default="20" min="1"
max="4294967039" deprecated="true"/>
В таких случаях comment
относится к одному или более параметрам, которые заменяют устаревший
параметр. Так же как initial , атрибут
deprecated обозначается только, когда параметр
устарел с deprecated="true" и не появляется
вообще для параметров, которые не устарели (Bug #21127135).
Начиная с NDB 7.5.0, которые требуются, обозначаются
mandatory="true" :
<param name="NodeId" comment="Number identifying application node
(mysqld(API))" type="unsigned" mandatory="true"
min="1" max="255"/>
Почти таким же способом, как initial или
deprecated показаны только
для параметра, который требует перезапуска или удерживается от использования,
атрибут mandatory
включен, только если данный параметр на самом деле требуется.
Опция --xml может использоваться только с
the --configinfo . Использование
--xml без
--configinfo вызовет ошибку.
В отличие от опций, используемых с этой программой, чтобы
получить текущие данные конфигурации,
--configinfo и
--xml используют информацию, полученную из
NDB Cluster при сборке
ndb_config.
Поэтому никакая связь с управлением NDB
Cluster или доступ к config.ini (или
my.cnf ) не требуется для этих двух опций.
Объединение других опций
ndb_config (например,
--query или
--type ) с --configinfo
(безотносительно --xml не поддерживается.
В настоящее время при попытке сделать так, обычный результат состоит в том,
что все другие опции, кроме --configinfo или
--xml проигнорированы.
Однако, это поведение не гарантируется и
подвержено изменениям в любое время. Кроме того, с тех пор, как
ndb_config используется с
--configinfo не получает доступ к
NDB Cluster или прочитать любые файлы, пытаясь определить дополнительные
опции, например --ndb-connectstring или
--config-file ,
--configinfo не служит никакой цели.
Примеры
Получить ID узла и тип каждого узла в группе:
shell> ./ndb_config --query=nodeid,type --fields=':' --rows='\n'
1:ndbd
2:ndbd
3:ndbd
4:ndbd
5:ndb_mgmd
6:mysqld
7:mysqld
8:mysqld
9:mysqld
В этом примере мы использовали
--fields , чтобы отделить ID и тип каждого узла символом двоеточия
(: ) и
--rows , чтобы поместить значения для каждого узла на
новой строке в выводе.
Произвести строку подключения, которая может использоваться
узлами данных, SQL и API, чтобы соединиться с сервером управления:
shell> ./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \
--query=hostname,portnumber --fields=: --rows=, \
--type=ndb_mgmd
198.51.100.179:1186
Этот вызов
ndb_config
проверяет только узлы данных (используя
--type ) и показывает значения для ID каждого узла и имени хоста, а
также набор значений для их
DataMemory и
DataDir :
shell> ./ndb_config --type=ndbd --query=nodeid,host,datamemory,datadir \
-f ' : ' -r '\n'
1 : 198.51.100.193 : 83886080 : /usr/local/mysql/cluster-data
2 : 198.51.100.112 : 83886080 : /usr/local/mysql/cluster-data
3 : 198.51.100.176 : 83886080 : /usr/local/mysql/cluster-data
4 : 198.51.100.119 : 83886080 : /usr/local/mysql/cluster-data
В этом примере мы использовали короткие опции
-f и -r
для урегулирования разделителя полей и сепаратора строк
соответственно, а также короткую опцию -q ,
чтобы передать список параметров, которые будут получены.
Чтобы исключить результаты любого хоста кроме одного, используйте
--host :
shell> ./ndb_config --host=198.51.100.176 -f : -r '\n' -q id,type
3:ndbd
5:ndb_mgmd
В этом примере мы также использовали краткую форму
-q , чтобы
определить признаки, которые будут показаны.
Точно так же можно ограничить результаты узлом с определенным ID,
используя
--nodeid .
6.8. ndb_cpcd
автотест для разработки NDB
Утилита, имеющая это имя, была раньше частью внутренней автоматизированной
испытательной структуры, используемой в тестировании и отладке NDB Cluster.
Это больше не включается в дистрибутивы NDB Cluster, выпускаемые Oracle.
6.9. ndb_delete_all
Удаляет все строки из таблицы NDB
ndb_delete_all
удаляет все строки из таблицы
NDB .
В некоторых случаях это может быть намного быстрее, чем
DELETE или
TRUNCATE TABLE .
Применение
ndb_delete_all -c connection_string tbl_name -d db_name
Это удаляет все строки из таблицы
tbl_name в БД
db_name.
Это точно эквивалентно выполнению TRUNCATE
db_name .
tbl_name в MySQL.
Следующая таблица включает опции, которые являются определенными для
ndb_delete_all.
Таблица 6.7. Параметры командной строки для ndb_delete_all
Формат | Описание |
Добавлено, устарело или удалено |
--database=dbname ,
-d
|
Название базы данных, в которой найдена таблица |
Все выпуски на основе MySQL 5.7 |
--transactional
,
-t
|
Выполнить удаление в единственной транзакции
(может исчерпать операции) |
Все выпуски на основе MySQL 5.7 |
--tupscan
|
Выполнить просмотр кортежа |
Все выпуски на основе MySQL 5.7 |
--diskscan
|
Выполнить дисковый просмотр |
Все выпуски на основе MySQL 5.7 |
--transactional ,
-t
Использование этого выбора заставляет удалить операцию быть
выполненной как единственная транзакция.
С очень большими таблицами использование этого выбора может заставить
количество операций, доступных кластеру, быть превышенным.
6.10. ndb_desc
Описание таблиц NDB
ndb_desc
предоставляет подробное описание одной или больше таблиц
NDB .
Применение
ndb_desc -c connection_string tbl_name -d db_name [options]
ndb_desc -c connection_string index_name -d db_name -t tbl_name
Дополнительные опции, которые могут использоваться с
ndb_desc,
перечисляются позже в этой секции.
Образец вывода
Создание таблицы MySQL и наполнение:
USE test;
CREATE TABLE fish (id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL, length_mm INT(11) NOT NULL,
weight_gm INT(11) NOT NULL, PRIMARY KEY pk (id),
UNIQUE KEY uk (name)) ENGINE=NDB;
INSERT INTO fish VALUES
(NULL, 'guppy', 35, 2), (NULL, 'tuna', 2500, 150000),
(NULL, 'shark', 3000, 110000), (NULL, 'manta ray', 1500, 50000),
(NULL, 'grouper', 900, 125000), (NULL ,'puffer', 250, 2500);
Вывод
ndb_desc:
shell> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 2
Fragment type: HashMapPartition
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 337
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
PartitionCount: 2
FragmentCount: 2
PartitionBalance: FOR_RP_BY_LDM
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
Table options:
HashMap: DEFAULT-HASHMAP-3840-2
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY DYNAMIC
length_mm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
weight_gm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk(name) - OrderedIndex
uk$unique(name) - UniqueHashIndex
-- Per partition info --
Partition Row count Commit countFrag fixed memory Frag varsized memoryExtent_spaceFree extent_space
0 2 2 32768 32768 0 0
1 4 4 32768 32768 0 0
NDBT_ProgramExit: 0 - OK
Информация о многих таблицах может быть получена в единственном
вызове
ndb_desc
при помощи их имен, отделенных пробелами. Все таблицы должны быть в той же
самой базе данных.
Можно получить дополнительную информацию об определенном индексе,
используя --table (краткая форма:
-t ) и название индекса как первый аргумент
ndb_desc:
shell> ./ndb_desc uk -d test -t fish
-- uk --
Version: 2
Base table: fish
Number of attributes: 1
Logging: 0
Index type: OrderedIndex
Index status: Retrieved
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
-- IndexTable 10/uk --
Version: 2
Fragment type: FragUndefined
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: yes
Number of attributes: 2
Number of primary keys: 1
Length of frm data: 0
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 2
ForceVarPart: 0
PartitionCount: 2
FragmentCount: 2
FragmentCountType: ONE_PER_LDM_PER_NODE
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
Table options:
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
NDB$TNODE Unsigned [64] PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-- Indexes --
PRIMARY KEY(NDB$TNODE) - UniqueHashIndex
NDBT_ProgramExit: 0 - OK
Когда индекс определяется таким образом,
--extra-partition-info и
--extra-node-info не работают.
Столбец Version
в выводе содержит версию объекта схемы таблицы. Для получения информации об
интерпретации этого значения см.
NDB Schema Object Versions.
Три из свойств таблицы, которые могут быть установлены, используя
комментарий NDB_TABLE в
CREATE TABLE и
ALTER TABLE ,
также видимы в выводе
ndb_desc.
FRAGMENT_COUNT_TYPE таблицы всегда показывается
в столбце FragmentCountType .
READ_ONLY и
FULLY_REPLICATED , если 1, показаны в
столбце Table options .
Вы видите это после выполнения следующего
ALTER TABLE в клиенте
mysql:
mysql> ALTER TABLE fish COMMENT='NDB_TABLE=READ_ONLY=1,FULLY_REPLICATED=1';
1 row in set, 1 warning (0.00 sec)
mysql> SHOW WARNINGS\G
+---------+------+---------------------------------------------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+---------------------------------------------------------------------------------------------------------+
| Warning | 1296 | Got error 4503 'Table property is FRAGMENT_COUNT_TYPE=ONE_PER_LDM_PER_NODE but not in comment' from NDB |
+---------+------+---------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Предупреждение выпущено потому, что
READ_ONLY=1
требует, чтобы тип количества фрагментов таблицы был (или был установлен в)
ONE_PER_LDM_PER_NODE_GROUP ,
NDB установит это автоматически в таких случаях.
Можно проверить, что ALTER TABLE
имеет желаемое использование эффекта
SHOW CREATE TABLE :
mysql> SHOW CREATE TABLE fish\G
*************************** 1. row ***************************
Table: fish
Create Table: CREATE TABLE `fish` (`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`length_mm` int(11) NOT NULL,
`weight_gm` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk` (`name`))
ENGINE=ndbcluster DEFAULT CHARSET=latin1
COMMENT='NDB_TABLE=READ_BACKUP=1,
FULLY_REPLICATED=1'
1 row in set (0.01 sec)
Так как FRAGMENT_COUNT_TYPE
не был установлен явно, его значение не показывают в тексте комментария,
напечатанном SHOW CREATE TABLE .
ndb_desc,
однако, показывает обновленное значение для этого признака. Столбец
Table options
показывает, что двоичные свойства просто включены.
Вы видите это в выводе, показанном здесь (подчеркнутый текст):
shell> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 4
Fragment type: HashMapPartition
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 380
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
PartitionCount: 1
FragmentCount: 1
FragmentCountType: ONE_PER_LDM_PER_NODE_GROUP
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
Table options: readbackup, fullyreplicated
HashMap: DEFAULT-HASHMAP-3840-1
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY DYNAMIC
length_mm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
weight_gm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk(name) - OrderedIndex
uk$unique(name) - UniqueHashIndex
-- Per partition info --
Partition Row count Commit count Frag fixed memory Frag var sized memory Extent_space Free extent_space
NDBT_ProgramExit: 0 - OK
Для получения дополнительной информации об этих
свойствах таблицы, посмотрите
Setting NDB_TABLE Options.
Столбцы Extent_space и
Free extent_space
применимы только к таблицам, имеющие колонки на диске. Для таблиц, имеющих
колонки только в памяти, эти колонки всегда содержат значение
0 .
Чтобы иллюстрировать их использование, мы изменяем предыдущий пример.
Во-первых, мы должны создать необходимые дисковые объекты данных,
как показано здесь:
CREATE LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_1.log' INITIAL_SIZE 16M
UNDO_BUFFER_SIZE 2M ENGINE NDB;
ALTER LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_2.log'
INITIAL_SIZE 12M ENGINE NDB;
CREATE TABLESPACE ts_1 ADD DATAFILE 'data_1.dat' USE LOGFILE GROUP lg_1
INITIAL_SIZE 32M ENGINE NDB;
ALTER TABLESPACE ts_1 ADD DATAFILE 'data_2.dat'
INITIAL_SIZE 48M ENGINE NDB;
Для получения дополнительной информации о показанных запросах
и объектах, созданных ими, посмотрите
раздел 7.13.1, а
также CREATE LOGFILE GROUP Statement и
CREATE TABLESPACE Statement.
Теперь мы можем создать и наполнить версию таблицу
fish , которая хранит 2 из ее колонок на диске
(удаляя предыдущую версию таблицы сначала, если это еще существует):
CREATE TABLE fish (id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL, length_mm INT(11) NOT NULL,
weight_gm INT(11) NOT NULL, PRIMARY KEY pk (id),
UNIQUE KEY uk (name)) TABLESPACE ts_1
STORAGE DISK ENGINE=NDB;
INSERT INTO fish VALUES
(NULL, 'guppy', 35, 2), (NULL, 'tuna', 2500, 150000),
(NULL, 'shark', 3000, 110000), (NULL, 'manta ray', 1500, 50000),
(NULL, 'grouper', 900, 125000), (NULL ,'puffer', 250, 2500);
Теперь
ndb_desc
показывает следующий вывод:
shell> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 1
Fragment type: HashMapPartition
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 346
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
PartitionCount: 2
FragmentCount: 2
FragmentCountType: ONE_PER_LDM_PER_NODE
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
Table options:
HashMap: DEFAULT-HASHMAP-3840-2
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
length_mm Int NOT NULL AT=FIXED ST=DISK
weight_gm Int NOT NULL AT=FIXED ST=DISK
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk(name) - OrderedIndex
uk$unique(name) - UniqueHashIndex
-- Per partition info --
Partition Row count Commit count Frag fixed memory Frag varsized memory Extent_space Free extent_space
0 2 2 32768 32768 1048576 1044440
1 4 4 32768 32768 1048576 1044400
NDBT_ProgramExit: 0 - OK
Это означает, что 1048576 байтов ассигнуются от табличного пространства
для этой таблицы на каждом разделении, от которых 1044440 байтов остаются
свободными для дополнительного хранения. Другими словами, 1048576 - 1044440
= 4136 байтов на разделение в настоящее время используется, чтобы хранить
данные из находящихся на диске колонок этой таблицы.
Число байтов, показанное как Free extent_space ,
доступно для того, чтобы хранить данные о колонке на диске только от таблицы
fish , поэтому, это невидимо, выбирая из
таблицы INFORMATION_SCHEMA.FILES .
Для полностью копируемых таблиц
ndb_desc показывает только узлы, содержащие
точные копии фрагмента основного раздела, узлы с точными копиями фрагмента
копии (только) проигнорированы. Начиная с NDB 7.5.4, можно получить такую
информацию, используя клиент
mysql, из таблиц
table_distribution_status ,
table_fragments ,
table_info и
table_replicas в БД
ndbinfo .
Таблица 6.8. Параметры командной строки для ndb_desc
Формат | Описание |
Добавлено, устарело или удалено |
--blob-info ,
-b
|
Включайте информацию о разделении для таблиц BLOB
в вывод. Требует, чтобы -p также использовалась |
Все выпуски на основе MySQL 5.7 |
--database=dbname
,
-d
|
Название базы данных, содержащей таблицу |
Все выпуски на основе MySQL 5.7 |
--extra-node-info
,
-n
|
Включайте разделение в отображения узла данных в вывод.
Требует, чтобы использовалась опция -p |
Все выпуски на основе MySQL 5.7 |
--extra-partition-info ,
-p
|
Показать информацию о разделении |
Все выпуски на основе MySQL 5.7 |
--retries=# ,
-r
|
Сколько раз повторить связь (однажды в секунду) |
Все выпуски на основе MySQL 5.7 |
--table=tbl_name ,
-t
|
Определите таблицу, в которой можно найти индекс. Когда этот выбор
используется, -p и -n не имеют никакого эффекта и проигнорированы. |
Все выпуски на основе MySQL 5.7 |
--unqualified
,
-u
|
Используйте неквалифицированные имена таблиц |
Все выпуски на основе MySQL 5.7 |
--blob-info , -b
Включайте информацию о подчиненных столбцах
BLOB и
TEXT .
Использование этого выбора также требует использования
--extra-partition-info
(-p ).
--database=
db_name , -d
Определите базу данных, в которой должна быть найдена таблица.
--extra-node-info ,
-n
Включать информацию об отображениях между разделением таблицы и узлами
данных, на которых они хранятся. Эта информация может быть полезна для
подтверждения механизмов осведомленности распределения и поддержки более
эффективного доступа приложений к данным в NDB Cluster.
Использование этого выбора также требует использования
--extra-partition-info
(-p ).
--extra-partition-info ,
-p
Напечатать дополнительную информацию о разделении таблицы.
--retries=#
, -r
Попытаться соединиться это число раз перед отказом.
Каждая попытка предпринята раз в секунду.
--table=
tbl_name , -t
Определите таблицу, в котором нужно искать индекс.
--unqualified , -u
Используйте неквалифицированные имена таблиц.
В NDB 7.5.3 и позже индексы таблицы, перечисленные в выводе,
упорядочены по ID. Ранее, это не было детерминировано и могло измениться
между платформами (Bug #81763, Bug #23547742).
6.11. ndb_drop_index
Удаление индекса из таблицы NDB
ndb_drop_index
исключает указанный индекс из таблицы
NDB table.
Рекомендуется, чтобы вы использовали эту утилиту
только в качестве примера для написания приложения NDB API.
Применение
ndb_drop_index -c connection_string table_name index -d db_name
Это удаляет индекс index из таблицы table в БД database.
Таблица 6.9. Параметры командной строки для ndb_drop_index
Формат | Описание |
Добавлено, устарело или удалено |
--database=dbname ,
-d
|
Название базы данных, в которой найдена таблица |
Все выпуски на основе MySQL 5.7 |
Операции, выполненные на индексах таблиц
Cluster, используя API NDB, невидимы MySQL и делают таблицу непригодной
для сервера MySQL. При использовании этой программы, чтобы
удалить индекс с последующей попыткой получить доступ к таблице от узла SQL,
будет ошибка, как показано здесь:
shell> ./ndb_drop_index -c localhost dogs ix -d ctest1
Dropping index dogs/idx...OK
NDBT_ProgramExit: 0 - OK
shell> ./mysql -u jon -p ctest1
Enter password: *******
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.7.29-ndb-7.5.17
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SHOW TABLES;
+------------------+
| Tables_in_ctest1 |
+------------------+
| a |
| bt1 |
| bt2 |
| dogs |
| employees |
| fish |
+------------------+
6 rows in set (0.00 sec)
mysql> SELECT * FROM dogs;
ERROR 1296 (HY000): Got error 4243
'Index not found' from NDBCLUSTER
В таком случае ваш единственный
выбор для предоставления доступа к таблице
для MySQL снова состоит в том, чтобы пересоздать таблицу.
Можно использовать любой SQL-оператор
DROP TABLE или утилиту
ndb_drop_table
(см.
раздел 6.12).
6.12. ndb_drop_table
Удаление таблицы NDB
ndb_drop_table удаляет
указанную таблицу NDB .
При попытке использовать это на таблице, составленной с механизмом
хранения кроме NDB ,
попытка терпит неудачу с ошибкой
723: No such table exists.
Эта операция чрезвычайно быстра, в некоторых случаях это может быть на
порядок быстрее, чем использование MySQL
DROP TABLE для
NDB .
Применение
ndb_drop_table -c connection_string tbl_name -d db_name
Таблица 6.10. Параметры командной строки для ndb_drop_table
Формат | Описание |
Добавлено, устарело или удалено |
--database=dbname ,
-d
|
Название базы данных, в которой найдена таблица |
Все выпуски на основе MySQL 5.7 |
6.13. ndb_error_reporter
утилита сообщения об ошибке NDB
ndb_error_reporter
создает архив из узла данных и файлов журнала узла управления, которые могут
использоваться, чтобы помочь диагностировать ошибки или другие проблемы с
кластером. Это настоятельно рекомендовано,
подавая отчеты об ошибках NDB Cluster.
Таблица 6.11. Параметры командной строки для ndb_error_reporter
Формат | Описание |
Добавлено, устарело или удалено |
--connection-timeout=timeout
|
Число секунд, чтобы ждать, соединяясь с узлами до тайм-аута. |
Все выпуски на основе MySQL 5.7 |
--dry-scp
|
Отключите scp с отдаленными хостами, только для тестирования. |
Все выпуски на основе MySQL 5.7 |
--fs
|
Включайте данные о файловой системе в сообщение об ошибке,
может использовать большой объем дискового пространства |
Все выпуски на основе MySQL 5.7 |
--skip-nodegroup=nodegroup_id
|
Пропустите все узлы в группе узла, имеющей этот ID. |
Все выпуски на основе MySQL 5.7 |
Применение
ndb_error_reporter path/to/config-file [username] [options]
Эта утилита предназначается для использования на хосте узла управления и
требует пути к конфигурационному файлу хоста управления (обычно
config.ini ).
Произвольно, можно поставлять имя пользователя, который в состоянии получить
доступ к узлам данных, используя SSH, скопировать файлы журнала узла данных.
ndb_error_reporter
тогда включает все эти файлы в архив, который создается в том же самом
каталоге, в котором утилита вызвана. Архив называют
ndb_error_report_
YYYYMMDDhhmmss .tar.bz2 ,
где YYYYMMDDhhmmss последовательность даты и времени.
ndb_error_reporter
также принимает опции, перечисленные здесь:
--connection-timeout=
timeout
Свойство |
Значение |
Формат командной строки |
--connection-timeout=timeout |
Тип |
Integer |
Умолчание |
0 |
Ждите это число секунд, пытаясь соединиться с узлами
до тайм-аута.
--dry-scp
Свойство |
Значение |
Формат командной строки |
--dry-scp |
Тип |
Boolean |
Умолчание |
TRUE |
Выполнить
ndb_error_reporter
не используя scp от удаленных хостов.
--fs
Свойство |
Значение |
Формат командной строки |
--fs |
Тип |
Boolean |
Умолчание |
FALSE |
Скопируйте файловые системы узла данных на хост управления
и включите их в архив.
Поскольку файловые системы узла данных могут быть чрезвычайно большими,
даже будучи сжаты, мы просим, чтобы вы не
посылали такие архивы в Oracle, если вас определенно не
попросили сделать это.
--skip-nodegroup=
nodegroup_id
Свойство |
Значение |
Формат командной строки |
--connection-timeout=timeout |
Тип |
Integer |
Умолчание |
0 |
Пропустить все узлы, принадлежащие группе узлов, имеющей этот ID.
6.14. ndb_import
Импорт данных CSV в NDB
ndb_import
Импорт данных CSV, такие как произведенные
mysqldump
--tab , непосредственно в
NDB через NDB API.
ndb_import
требует, чтобы связь с сервером управления NDB
(
ndb_mgmd) работала,
это не требует связи с MySQL Server.
Применение
ndb_import db_name file_name options
ndb_import
требует двух аргументов. db_name это название базы данных, где таблица, в
которую можно импортировать данные, найдена.
file_name это название файла CSV, из которого можно прочитать данные.
Это должно включать путь к этому файлу, если это не находится в текущем
каталоге. Название файла должно соответствовать названию таблицы,
расширение файла, если таковое имеется, не учтено. Опции, поддержанные
ndb_import,
включают параметры для определения разделителей полей, экранирования
и терминаторов строк. Описаны позже в этой секции.
ndb_import
должен быть в состоянии соединиться с сервером управления NDB Cluster,
поэтому должен быть неиспользованный слот
[api] в
config.ini .
Чтобы дублировать существующую таблица, которая использует различный
механизм хранения, такой как
InnoDB , в таблицу
NDB , используйте клиент
mysql, чтобы выполнить
SELECT INTO OUTFILE ,
чтобы экспортировать существующую таблицу в файл CSV, затем выполните
CREATE TABLE LIKE ,
чтобы составить новую таблицу, имеющую ту же самую структуру, как
существующая таблица, затем выполните
ALTER TABLE ... ENGINE=NDB
на новой таблице, после этого от системной оболочки вызовите
ndb_import,
чтобы загрузить данные в новую таблицу NDB .
Например, существующая таблица InnoDB
myinnodb_table в БД
myinnodb может быть экспортирована в таблицу
myndb_table в БД
myndb , предполагая, что вы уже вошли как
пользователь MySQL с соответствующими привилегиями:
В клиенте mysql:
mysql> USE myinnodb;
mysql> SELECT * INTO OUTFILE '/tmp/myndb_table.csv' \
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' \
ESCAPED BY '\\' LINES TERMINATED BY '\n' FROM myinnodbtable;
mysql> CREATE DATABASE myndb;
mysql> USE myndb;
mysql> CREATE TABLE myndb_table LIKE myinnodb.myinnodb_table;
mysql> ALTER TABLE myndb_table ENGINE=NDB;
mysql> EXIT;
Bye
shell>
Как только целевая база данных и таблица были созданы,
mysqld
больше не требуется. Можно остановить его, используя
mysqladmin shutdown или
другой метод, если вы желаете.
В системной оболочке:
# if you are not already in the MySQL bin directory:
shell> cd path-to-mysql-bin-dir
shell> ndb_import myndb /tmp/myndb_table.csv --fields-optionally-enclosed-by='"' \
--fields-terminated-by="," --fields-escaped-by='\\'
Вывод примерно такой:
job-1 import myndb.myndb_table from /tmp/myndb_table.csv
job-1 [running] import myndb.myndb_table from /tmp/myndb_table.csv
job-1 [success] import myndb.myndb_table from /tmp/myndb_table.csv
job-1 imported 19984 rows in 0h0m9s at 2277 rows/s
jobs summary: defined: 1 run: 1 with success: 1 with failure: 0
shell>
Таблица 6.12. Параметры командной строки для ndb_import
Формат | Описание |
Добавлено, устарело или удалено |
--abort-on-error
|
Дамп ядра на любой фатальной ошибке, используется для отладки |
Добавлено в NDB 7.6.2 |
--ai-increment=#
|
Для таблицы со скрытым PK определите шаг автоприращения. См. mysqld |
Добавлено в NDB 7.6.2 |
--ai-offset=#
|
Для таблицы со скрытым PK определите смещение
автоприращения. См. mysqld |
Добавлено в NDB 7.6.2 |
--ai-prefetch-sz=#
|
Для таблицы со скрытым PK определите количество значений автоприращения,
которые предварительно получены. |
Добавлено в NDB 7.6.2 |
--connections=#
|
Количество создаваемых связей кластера |
Добавлено в NDB 7.6.2 |
--continue
|
Когда работа потерпит неудачу, продолжить следующую работу |
Добавлено в NDB 7.6.2 |
--db-workers=#
|
Количество потоков на узел данных, выполняя операции по базе данных |
Добавлено в NDB 7.6.2 |
--errins-type=name
|
Тип ошибки вставки для целей тестирования, используйте "list",
чтобы получить все возможные значения |
Добавлено в NDB 7.6.2 |
--errins-delay=#
|
Ошибочная вставка задерживается на это время в миллисекундах,
случайное изменение добавляется |
Добавлено в NDB 7.6.2 |
--fields-enclosed-by=char
|
Аналог FIELDS ENCLOSED BY в LOAD DATA. Для ввода CSV это аналог
--fields-optionally-enclosed-by |
Добавлено в NDB 7.6.2 |
--fields-escaped-by=name
|
Аналог FIELDS ESCAPED BY в LOAD DATA |
Добавлено в NDB 7.6.2 |
--fields-optionally-enclosed-by=char
|
Аналог FIELDS OPTIONALLY ENCLOSED BY в LOAD DATA |
Добавлено в NDB 7.6.2 |
--fields-terminated-by=char
|
Аналог FIELDS TERMINATED BY в LOAD DATA. |
Добавлено в NDB 7.6.2 |
--idlesleep=#
|
Количество миллисекунд, чтобы спать, ожидая |
Добавлено в NDB 7.6.2 |
--idlespin=#
|
Число раз, чтобы повторить прежде, чем уснуть в ожидании |
Добавлено в NDB 7.6.2 |
--ignore-lines=#
|
Проигнорируйте первые # строк во входном файле.
Используется, чтобы пропустить заголовок. |
Добавлено в NDB 7.6.2 |
--input-type=name
|
Входной тип: случайный или csv |
Добавлено в NDB 7.6.2 |
--input-workers=#
|
Количество обработки потоков ввода.
Должно быть 2 или больше, если --input-type = csv. |
Добавлено в NDB 7.6.2 |
--keep-state
|
Сохранить состояния файлов |
Добавлено в NDB 7.6.4 |
--lines-terminated-by=name
|
Аналог LINES TERMINATED BY в LOAD DATA |
Добавлено в NDB 7.6.2 |
--log-level=#
|
Установите внутренний уровень регистрации для отладки |
Добавлено в NDB 7.6.4 |
--max-rows=#
|
Импортируйте только это количество входных строк данных,
умолчание 0 импортирует все строки |
Добавлено в NDB 7.6.2 |
--monitor=#
|
Периодически печатать статус, если что-то изменилось.
Значение 0 отключает. Значение 1 печатает любое замеченное изменение.
Более высокие значения уменьшают статус
по экспоненте до некоторого предопределенного предела. |
Добавлено в NDB 7.6.2 |
--no-asynch
|
Операции по базе данных, которыми управляют как
пакетами в одной транзакции |
Добавлено в NDB 7.6.2 |
--no-hint
|
Не используйте подсказку ключа распределения, чтобы выбрать
узел данных (TC) |
Добавлено в NDB 7.6.2 |
--opbatch=#
|
Пакет выполнения db это ряд транзакций и операций, посланных в ядро NDB.
Этот выбор ограничивает операции NDB (включая операции по blob) в пакете
выполнения. Поэтому это также ограничивает
количество асинхронных транзакций. |
Добавлено в NDB 7.6.2 |
--opbytes=#
|
Предел байт в пакете выполнения (умолчание 0 = никакого предела) |
Добавлено в NDB 7.6.2 |
--output-type=name
|
Тип вывода: ndb умолчание, null используется для тестирования |
Добавлено в NDB 7.6.2 |
--output-workers=#
|
Количество потоков обработки вывода или передачи операций
по базе данных |
Добавлено в NDB 7.6.2 |
--pagesize=#
|
Выровняйте буфера I/O к данному размеру |
Добавлено в NDB 7.6.2 |
--pagecnt=#
|
Размер I/O буфера как произведение размера страницы.
Обработчик ввода CSV ассигнует буфер двойного размера |
Добавлено в NDB 7.6.2 |
--polltimeout=#
|
Перерыв на опрос для законченных асинхронных транзакций.
Опрос продолжается, пока все опросы не закончены,
или ошибка не происходит |
Добавлено в NDB 7.6.2 |
--rejects=#
|
Количество предела отклоненных строк (строки с систематической ошибкой) в
данных. Умолчание 0 означает, что любая отклоненная строка
вызывает фатальную ошибку. Строка, превышающая предел,
также добавляется к *.rej |
Добавлено в NDB 7.6.2 |
--resume
|
Если работа прервалась (нерегулярная ошибка, пользовательское
прерывание), возобновить со строками, еще не обработанными |
Добавлено в NDB 7.6.2 |
--rowbatch=#
|
Предел строк в очередях (умолчание 0 = никакого предела),
должно быть 1 или больше, если --input-type = random |
Добавлено в NDB 7.6.2 |
--rowbytes=#
|
Предел байтов в очередях строк (0 = никакого предела) |
Добавлено в NDB 7.6.2 |
--state-dir=name
|
Куда писать файлы состояния, по умолчанию в текущий каталог |
Добавлено в NDB 7.6.2 |
--stats
|
Сохранить работу и информацию о статистике в файлы
*.sto и
*.stt |
Добавлено в NDB 7.6.4 |
--tempdelay=#
|
Количество миллисекунд, которое спать между нерегулярными ошибками |
Добавлено в NDB 7.6.2 |
--temperrors=#
|
Число раз, которое транзакция может потерпеть неудачу из-за нерегулярной
ошибки на пакет выполнения. 0 указывает, что любая нерегулярная ошибка
фатальна. Такие ошибки не заставляют писать строки в файл .rej. |
Добавлено в NDB 7.6.2 |
--verbose=# ,
-v
|
Позвольте многословный вывод |
Добавлено в NDB 7.6.2 |
--abort-on-error
Свойство |
Значение |
Формат командной строки |
--abort-on-error |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Boolean |
Умолчание |
FALSE |
Дамп ядра на любой фатальной ошибке, только для отладки.
--ai-increment =
#
Свойство |
Значение |
Формат командной строки |
--ai-increment=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
1 |
Минимум |
1 |
Максимум |
4294967295 |
Для таблицы со скрытым первичным ключом определите шаг автоприращения,
как системная переменная
auto_increment_increment
в MySQL Server.
--ai-offset =
#
Свойство |
Значение |
Формат командной строки |
--ai-offset=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
1 |
Минимум |
1 |
Максимум |
4294967295 |
Для таблицы со скрытым первичным ключом определите смещение
автоприращения. Подобно системной переменной
auto_increment_offset
.
--ai-prefetch-sz =
#
Свойство |
Значение |
Формат командной строки |
--ai-prefetch-sz=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
1024 |
Минимум |
1 |
Максимум |
4294967295 |
Для таблицы со скрытым первичным ключом определите количество значений
автоприращения, которые предварительно получены.
Ведет себя как системная переменная
ndb_autoincrement_prefetch_sz
в MySQL Server.
--connections =
#
Свойство |
Значение |
Формат командной строки |
--connections=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
1 |
Минимум |
1 |
Максимум |
4294967295 |
Количество связей кластера.
--continue
Свойство |
Значение |
Формат командной строки |
--continue |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Boolean |
Умолчание |
FALSE |
Когда работа потерпит неудачу, перейти к следующей.
--db-workers =
#
Свойство |
Значение |
Формат командной строки |
--db-workers=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание
(>= 5.7.20-ndb-7.6.4) |
4 |
Умолчание
(>= 5.7.18-ndb-7.6.2, <= 5.7.18-ndb-7.6.3) |
1 |
Минимум |
1 |
Максимум |
4294967295 |
Количество потоков на узел данных, выполняя операции
по базе данных.
--errins-type =
name
Свойство |
Значение |
Формат командной строки |
--errins-type=name |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Enumeration |
Умолчание |
[none] |
Допустимые значения
| stopjob
stopall
sighup
sigint
list
|
Тип вставки ошибки, используйте list как
значение name, чтобы чтобы получить все возможные значения.
Этот выбор используется только для тестирования.
--errins-delay =
#
Свойство |
Значение |
Формат командной строки |
--errins-delay=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
1000 |
Минимум |
0 |
Максимум |
4294967295 |
Ошибочная вставка задерживается на это время в миллисекундах,
случвйное изменение добавляется. Этот выбор используется
только для тестирования.
--fields-enclosed-by =
char
Свойство |
Значение |
Формат командной строки |
--fields-enclosed-by=char |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
String |
Умолчание |
[none] |
Это работает таким же образом, как FIELDS ENCLOSED
BY для LOAD DATA , определяя символ,
указывающий значения полей. Для ввода CSV это совпадает с
--fields-optionally-enclosed-by .
--fields-escaped-by =
name
Свойство |
Значение |
Формат командной строки |
--fields-escaped-by=name |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
String |
Умолчание |
\ |
Определите символ ESC таким же образом, как
FIELDS ESCAPED BY для SQL
LOAD DATA .
--fields-optionally-enclosed-by =
char
Свойство |
Значение |
Формат командной строки |
--fields-optionally-enclosed-by=char
|
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
String |
Умолчание |
[none] |
Это работает таким же образом, как FIELDS OPTIONALLY
ENCLOSED BY в
LOAD DATA , определяя символ,
произвольно указывающий значения полей. Для ввода CSV это совпадает с
--fields-enclosed-by .
--fields-terminated-by =
char
Свойство | Значение |
Формат командной строки |
--fields-terminated-by=char |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
String |
Умолчание |
\t |
Это работает таким же образом, как FIELDS TERMINATED
BY в LOAD DATA ,
определяя символ как разделитель полей.
--idlesleep =
#
Свойство |
Значение |
Формат командной строки |
--idlesleep=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
1 |
Минимум |
1 |
Максимум |
4294967295 |
Количество миллисекунд, чтобы спать, ожидая
большего количества работы.
--idlespin =
#
Свойство |
Значение |
Формат командной строки |
--idlespin=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
4294967295 |
Сколько раз повторить перед сном.
--ignore-lines =#
Свойство |
Значение |
Формат командной строки |
--ignore-lines=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
4294967295 |
Предписывает ndb_import игнорировать первые # строк
входного файла. Это может использоваться, чтобы пропустить заголовок файла,
который не содержит данных.
--input-type =
name
Свойство |
Значение |
Формат командной строки |
--input-type=name |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Enumeration |
Умолчание |
csv |
Допустимые значения
| random
csv
|
Установите тип входного потока. Умолчание
csv , random
предназначается для только тестирования.
--input-workers =
#
Свойство |
Значение |
Формат командной строки |
--input-workers=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание
(>= 5.7.20-ndb-7.6.4) |
4 |
Умолчание
(>= 5.7.18-ndb-7.6.2, <= 5.7.18-ndb-7.6.3) |
2 |
Минимум |
1 |
Максимум |
4294967295 |
Определите число потоков обработки ввода.
--keep-state
Свойство |
Значение |
Формат командной строки |
--keep-state |
Добавлено в
| 5.7.20-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
false |
По умолчанию ndb_import удаляет все статусные файлы (кроме непустых
*.rej ), когда это заканчивает работу.
Определите этот выбор, чтобы вынудить программу сохранить все статусные
файлы вместо этого.
--lines-terminated-by =
name
Свойство |
Значение |
Формат командной строки |
--lines-terminated-by=name |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
String |
Умолчание |
\n |
Аналог опции LINES TERMINATED BY в
LOAD DATA ,
определяя символ конца строки.
--log-level =
#
Свойство |
Значение |
Формат командной строки |
--log-level=# |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
2 |
Выполняет внутреннюю регистрацию на данном уровне.
Этот выбор предназначается, прежде всего, для внутреннего использования.
В отладочных сборках NDB
уровень может быть установлен, используя этот выбор, максимум в 4.
--max-rows =#
Свойство |
Значение |
Формат командной строки |
--max-rows=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
4294967295 |
Импортируйте только это количество входных строк данных.
Умолчание 0 импортирует все строки.
--monitor =
#
Свойство |
Значение |
Формат командной строки |
--monitor=# |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
2 |
Минимум |
0 |
Максимум |
4294967295 |
Периодически печатайте статус работы, если что-то изменилось.
Установите в 0, чтобы отключить это сообщение. Установка в 1 печатает любое
изменение, которое замечено. Более высокие значения уменьшают частоту этого
создания отчетов о состоянии.
--no-asynch
Свойство |
Значение |
Формат командной строки |
--no-asynch |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Boolean |
Умолчание |
FALSE |
Операции по базе данных, которыми управляют,
как пакетами в транзакциях.
--no-hint
Свойство |
Значение |
Формат командной строки |
--no-hint |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип |
Boolean |
Умолчание |
FALSE |
Не используйте ключ распределения, чтобы выбрать узел данных.
--opbatch =
#
Свойство |
Значение |
Формат командной строки |
--opbatch=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
256 |
Минимум |
1 |
Максимум |
4294967295 |
Установите предел для количества операций (включая операции по blob)
и таким образом количество асинхронных транзакций
на пакет выполнения.
--opbytes =
#
Свойство |
Значение |
Формат командной строки |
--opbytes=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
4294967295 |
Установите предел для числа байтов на пакет
выполнения. Используйте 0 для отсутствия предела.
--output-type =name
Свойство |
Значение |
Формат командной строки |
--output-type=name |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Enumeration |
Умолчание |
ndb |
Допустимые значения
| null |
Установите тип вывода. Умолчание ndb .
null только для отладки.
--output-workers =#
Свойство |
Значение |
Формат командной строки |
--output-workers=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
2 |
Минимум |
1 |
Максимум |
4294967295 |
Определите число потоков обработки вывода или передачи операций
по базе данных.
--pagesize =
#
Свойство |
Значение |
Формат командной строки |
--pagesize=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
4096 |
Минимум |
1 |
Максимум |
4294967295 |
Выровняйте буфера I/O к данному размеру.
--pagecnt =
#
Свойство |
Значение |
Формат командной строки |
--pagecnt=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
64 |
Минимум |
1 |
Максимум |
4294967295 |
Установите размер буферов I/O как произведение размера страницы.
Ввод CSV ассигнует буфер, который удвоен в размере.
--polltimeout =
#
Свойство |
Значение |
Формат командной строки |
--polltimeout=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
1000 |
Минимум |
1 |
Максимум |
4294967295 |
Установите перерыв на опрос для законченных асинхронных
транзакций. Опрос продолжается, пока все опросы не закончены,
или пока ошибка не происходит.
--rejects =
#
Свойство |
Значение |
Формат командной строки |
--rejects=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
4294967295 |
Ограничьте количество отклоненных строк (строки с систематическими
ошибками) в данных. Умолчание 0 означает, что любая отклоненная строка
вызывает фатальную ошибку. Любые строки, заставляющие предел быть
превышенным, добавляются к файлу .rej .
Ограничение, наложенное этим выбором, эффективно на время текущей
работы. Перезапуск работы с
--resume
считается новой работой с этой целью.
--resume
Свойство |
Значение |
Формат командной строки |
--resume |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Boolean |
Умолчание |
FALSE |
Если работа прерывается (из-за временной ошибки или когда прервана
пользователем), продолжить с какими-либо строками,
еще не обработанными.
--rowbatch =
#
Свойство |
Значение |
Формат командной строки |
--rowbatch=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
4294967295 |
Установите предел для количества строк
на очередь строки. 0 = нет предела.
--rowbytes =
#
Свойство |
Значение |
Формат командной строки |
--rowbytes=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
262144 |
Минимум |
0 |
Максимум |
4294967295 |
Установите предел для числа байтов
на очередь строки. 0 = no limit.
--stats
Свойство |
Значение |
Формат командной строки |
--stats |
Добавлено в |
5.7.20-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
false |
Сохраните информацию об опциях, связанных с работой и другой внутренней
статистикой, в файлах
*.sto и *.stt .
Эти файлы всегда сохраняются при успешном завершении (даже если
не указана
--keep-state ).
--state-dir =name
Свойство |
Значение |
Формат командной строки |
--state-dir=name |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
String |
Умолчание |
. |
Где писать статусные файлы
(tbl_name .map,
tbl_name .rej,
tbl_name .res и
tbl_name .stt),
произведенные выполнением программы, умолчание: текущий каталог.
--tempdelay =
#
Свойство |
Значение |
Формат командной строки |
--tempdelay=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
10 |
Минимум |
0 |
Максимум |
4294967295 |
Количество миллисекунд, чтобы спать между нерегулярными ошибками.
--temperrors =#
Свойство |
Значение |
Формат командной строки |
--temperrors=# |
Добавлено в |
5.7.18-ndb-7.6.2 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
4294967295 |
Сколько раз транзакция может потерпеть неудачу из-за нерегулярной ошибки
на пакет выполнения. Умолчание 0 означает, что любая нерегулярная ошибка
фатальна. Нерегулярные ошибки не заставляют строк быть добавленными к
файлу .rej .
--verbose , -v
Свойство |
Значение |
Формат командной строки |
--verbose |
Добавлено в
| 5.7.18-ndb-7.6.2 |
Тип
(>= 5.7.20-ndb-7.6.4) |
Boolean |
Тип
(>= 5.7.18-ndb-7.6.2, <= 5.7.18-ndb-7.6.3) |
Integer |
Умолчание
(>= 5.7.20-ndb-7.6.4) |
false |
Умолчание
(>= 5.7.18-ndb-7.6.2, <= 5.7.18-ndb-7.6.3) |
0 |
Минимум |
0 |
Максимум |
2 |
NDB 7.6.4 и позже: позволить многословный вывод.
Ранее этот выбор управлял внутренним уровнем регистрации для сообщений
отладки. В NDB 7.6.4 и позже используйте с этой целью
--log-level .
Как с LOAD DATA ,
для форматирования области и строки нет никакого эквивалента
STARTING WITH
для LOAD DATA .
ndb_import
добавлена в NDB 7.6.2.
6.15. ndb_index_stat
Утилита статистики индекса NDB
ndb_index_stat
предоставляет статистическую информацию на фрагмент об индексах на
таблицах NDB .
Это включает версию кэша и возраст, количество элементов индекса на раздел и
потребление памяти индексами.
Применение
Чтобы получить базовую статистику индекса о данной таблице
NDB , вызовите
ndb_index_stat
с названием таблицы как первый аргумент и названием базы данных, содержащей
эту таблицу, определенным немедленно после него, используя опцию
--database
(-d ):
ndb_index_stat table -d database
В этом примере мы используем
ndb_index_stat,
чтобы получить такую информацию о таблице
NDB mytable в БД
test :
shell> ndb_index_stat -d test mytable
table:City index:PRIMARY fragCount:2
sampleVersion:3 loadTime:1399585986 sampleCount:1994 keyBytes:7976
query cache: valid:1 sampleCount:1994 totalBytes:27916
times in ms: save: 7.133 sort: 1.974 sort per sample: 0.000
NDBT_ProgramExit: 0 - OK
sampleVersion
номер версии кэша, из которого взяты данные о статистике.
ndb_index_stat с опцией
--update увеличивает sampleVersion.
loadTime
покажет, когда кэш обновился. Это выражается как секунды с Unix Epoch.
sampleCount это
количество элементов индекса, найденных на раздел. Можно оценить общее
количество записей, умножив это на количество фрагментов (показанных как
fragCount ).
sampleCount
можно сравнить с количеством элементов в
SHOW INDEX или
INFORMATION_SCHEMA.STATISTICS ,
хотя последние два обеспечивают представление о таблице в целом в то время,
как
ndb_index_stat
обеспечивает среднее число на фрагмент.
keyBytes
это число байтов, используемых индексом. В этом примере первичный ключ это
целое число, которое требует четырех байтов для каждого индекса, таким
образом, keyBytes
может быть вычислен в этом случае как показано здесь:
keyBytes = sampleCount * (4 байт на индекс) = 1994*4 = 7976
Эта информация может также быть получена, используя соответствующие
определения столбца из
INFORMATION_SCHEMA.COLUMNS
(требует MySQL Server и клиентского приложения MySQL).
totalBytes это
общая память, потребляемая всеми индексами таблицы, в байтах.
Время, показанное в предыдущих примерах, определено для каждого вызова
ndb_index_stat.
Опция
--verbose
обеспечивает некоторый дополнительный вывод, как показано здесь:
shell> ndb_index_stat -d test mytable --verbose
random seed 1337010518
connected
loop 1 of 1
table:mytable index:PRIMARY fragCount:4
sampleVersion:2 loadTime:1336751773 sampleCount:0 keyBytes:0
read stats
query cache created
query cache: valid:1 sampleCount:0 totalBytes:0
times in ms: save: 20.766 sort: 0.001
disconnected
NDBT_ProgramExit: 0 - OK
shell>
Если единственный вывод программы
NDBT_ProgramExit: 0 - OK ,
это может указать, что никакие статистические данные не существуют.
Чтобы вынудить их быть созданными (или обновленными, если они
уже существуют), вызовите
ndb_index_stat с опцией
--update или выполните
ANALYZE TABLE на таблице в
клиенте mysql.
Опции
Следующая таблица включает опции, которые являются определенными для
NDB Cluster
ndb_index_stat.
Таблица 6.13. Параметры командной строки для ndb_index_stat
Формат | Описание |
Добавлено, устарело или удалено |
--database=name ,
-d
|
Название базы данных, содержащей таблицу. |
Все выпуски на основе MySQL 5.7 |
--delete
|
Удалите статистику индекса для данной таблицы, остановив любое
автоматическое обновление, ранее формируемое. |
Все выпуски на основе MySQL 5.7 |
--update
|
Статистика индекса обновления для данной
таблицы, перезапуская любое автоматическое обновление. |
Все выпуски на основе MySQL 5.7 |
--dump
|
Напечатайте кэш запроса. |
Все выпуски на основе MySQL 5.7 |
--query=#
|
Выполнить много случайных запросов диапазона на первом ключе attr
(должен быть int unsigned). |
Все выпуски на основе MySQL 5.7 |
--sys-drop
|
Удалить любые таблицы статистики, и события в ядре NDB
(все статистические данные будут потеряны) |
Все выпуски на основе MySQL 5.7 |
--sys-create
|
Составьте все таблицы статистики и события в ядре NDB, если ни один
из них не существует |
Все выпуски на основе MySQL 5.7 |
--sys-create-if-not-exist
|
Составьте любые таблицы статистики и события в ядре NDB, которые
еще не существуют. |
Все выпуски на основе MySQL 5.7 |
--sys-create-if-not-valid
|
Составьте любые таблицы статистики или события, которые еще
не существуют в ядре NDB, после удаления любых, которые недействительны. |
Все выпуски на основе MySQL 5.7 |
--sys-check
|
Проверьте, что системная статистика индекса NDB и
таблицы событий существуют. |
Все выпуски на основе MySQL 5.7 |
--sys-skip-tables
|
Не применяйте опции sys-* к таблицам. |
Все выпуски на основе MySQL 5.7 |
--sys-skip-events
|
Не применяйте опции sys-* к событиям. |
Все выпуски на основе MySQL 5.7 |
--verbose ,
-v
|
Включите многословный вывод. |
Все выпуски на основе MySQL 5.7 |
--loops=#
|
Установите сколько раз выполнять данную команду. Умолчание 0. |
Все выпуски на основе MySQL 5.7 |
Опции статистики ndb_index_stat. Следующие опции используются, чтобы
произвести статистику индекса. Они работают с данными таблицей и базой
данных. Они не могут быть смешаны с системными (см.
Системные опции ndb_index_stat).
--database=name ,
-d name
Свойство | Значение |
Формат командной строки |
--database=name |
Тип |
String |
Умолчание |
[none] |
Минимум |
|
Максимум |
|
Название базы данных, которая содержит таблицу.
--delete
Свойство |
Значение |
Формат командной строки |
--delete |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Удалите статистику индекса для данной
таблицы, остановив любое автоматическое обновление,
которое ранее формировалось.
--update
Свойство |
Значение |
Формат командной строки |
--update |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Обновите статистику индекса для данной таблицы и перезапустите любое
автоматическое обновление, которое ранее формировалось.
--dump
Свойство |
Значение |
Формат командной строки |
--dump |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Дамп содержания кэша запроса.
--query=#
Свойство | Значение |
Формат командной строки |
--query=# |
Тип |
Numeric |
Умолчание |
0 |
Минимум |
0 |
Максимум |
MAX_INT |
Случайнык запросы диапазона на первом ключевом признаке
(должен быть int unsigned).
Системные опции ndb_index_stat. Следующие опции используются, чтобы
произвести и обновить таблицы статистики в ядре NDB. Ни одна из этих опций не
может быть смешана с опциями статистики (см.
здесь).
--sys-drop
Свойство |
Значение |
Формат командной строки |
--sys-drop |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Удалить все таблицы статистики и события в ядре NDB.
Вся статистика потеряна.
--sys-create
Свойство | Значение |
Формат командной строки |
--sys-create |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Составьте все таблицы статистики и события в ядре NDB. Это работает,
только если ни один из них не существует ранее.
sys-create-if-not-exist
Свойство | Значение |
Формат командной строки |
--sys-create-if-not-exist |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Составьте любые системные таблицы статистики NDB или события, которые еще
не существуют, когда программа вызвана.
--sys-create-if-not-valid
Свойство |
Значение |
Формат командной строки |
--sys-create-if-not-valid |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Составьте любые системные таблицы статистики NDB или события, которые
еще не существуют после удаления любых неправильных.
--sys-check
Свойство |
Значение |
Формат командной строки |
--sys-check |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Проверьте, что все необходимые системные таблицы статистики и события
существуют в ядре NDB.
--sys-skip-tables
Свойство |
Значение |
Формат командной строки |
--sys-skip-tables |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Не применяйте опции --sys-*
к любым таблицам статистики.
--sys-skip-events
Свойство | Значение |
Формат командной строки |
--sys-skip-events |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Не применяйте опции --sys-*
к любым событиям.
--verbose
Свойство |
Значение |
Формат командной строки |
--verbose |
Тип |
Boolean |
Умолчание |
false |
Минимум |
|
Максимум |
|
Включить подробный вывод.
--loops=
#
Свойство |
Значение |
Формат командной строки |
--loops=# |
Тип |
Numeric |
Умолчание |
0 |
Минимум |
0 |
Максимум |
MAX_INT |
Повторить команду это числом раз (для использования в тестировании).
6.16. ndb_move_data
Утилита копирования данных NDB
ndb_move_data
копирует данные между таблицами NDB.
Применение
Программа вызвана с названиями входной и выходной таблиц, обе из них могут
быть квалифицированы произвольно с именем базы данных. Обе таблицы должны
использовать механизм хранения NDB.
ndb_move_data options source target
Таблица 6.14. Параметры командной строки для ndb_move_data
Формат | Описание |
Добавлено, устарело или удалено |
--abort-on-error
|
Дамп ядра на систематической ошибке (параметр отладки). |
Все выпуски на основе MySQL 5.7 |
--character-sets-dir=name
|
Каталог, где искать наборы символов |
Все выпуски на основе MySQL 5.7 |
--database=dbname ,
-d
|
Название базы данных, в которой таблица |
Все выпуски на основе MySQL 5.7 |
--drop-source
|
Удалить исходную таблицу после копирования всех строк |
Все выпуски на основе MySQL 5.7 |
--error-insert
|
Вставьте случайные нерегулярные ошибки (для отладки) |
Все выпуски на основе MySQL 5.7 |
--exclude-missing-columns
|
Проигнорируйте дополнительные столбцы в источнике или целевой таблице |
Все выпуски на основе MySQL 5.7 |
--lossy-conversions ,
-l
|
Позволить усечь данные о признаке, когда преобразовано в меньший тип |
Все выпуски на основе MySQL 5.7 |
--promote-attributes ,
-A
|
Позволить данным о признаке быть преобразованными в больший тип |
Все выпуски на основе MySQL 5.7 |
--staging-tries=x[,y[,z]]
|
Определите нерегулярные ошибки. Формат: x[,y[,z]], где x=max попыток
(0=no limit), y=min задержки (ms), z=max задержки (ms) |
Все выпуски на основе MySQL 5.7 |
--verbose
|
Включить подробные отчеты |
Все выпуски на основе MySQL 5.7 |
--abort-on-error
Свойство |
Значение |
Формат командной строки |
--abort-on-error |
Тип |
Boolean |
Умолчание |
FALSE |
Дамп ядра на систематической ошибке (параметр для отладки).
--character-sets-dir =
name
Свойство | Значение |
Формат командной строки |
--character-sets-dir=name |
Тип |
String |
Умолчание |
[none] |
Каталог, где искать наборы символов.
--database =
dbname, -d
Свойство |
Значение |
Формат командной строки |
--database=dbname |
Тип |
String |
Умолчание |
TEST_DB |
Название базы данных, в которой таблица.
--drop-source
Свойство | Значение |
Формат командной строки |
--drop-source |
Тип |
Boolean |
Умолчание |
FALSE |
Удалить исходную таблицу после копирования всех строк.
--error-insert
Свойство |
Значение |
Формат командной строки |
--error-insert |
Тип |
Boolean |
Умолчание |
FALSE |
Вставьте экземплярные нерегулярные ошибки (для тестирования).
--exclude-missing-columns
Свойство | Значение |
Формат командной строки |
--exclude-missing-columns |
Тип |
Boolean |
Умолчание |
FALSE |
Проигнорируйте дополнительные столбцы в источнике
или целевой таблице.
--lossy-conversions ,
-l
Свойство |
Значение |
Формат командной строки |
--lossy-conversions |
Тип |
Boolean |
Умолчание |
FALSE |
Позвольте данным о признаке быть усеченными, когда
преобразовано в меньший тип.
--promote-attributes ,
-A
Свойство |
Значение |
Формат командной строки |
--promote-attributes |
Тип |
Boolean |
Умолчание |
FALSE |
Позвольте данным о признаке быть преобразованными в больший тип.
--staging-tries =
x[,y[,z]]
Свойство |
Значение |
Формат командной строки |
--staging-tries=x[,y[,z]] |
Тип |
String |
Умолчание |
0,1000,60000 |
Определите нерегулярные ошибки. Формат: x[,y[,z]], где
x=max попыток (0=no limit), y=min задержка (ms),
z=max задержка (ms).
--verbose
Свойство |
Значение |
Формат командной строки |
--verbose |
Тип |
Boolean |
Умолчание |
FALSE |
Включить подробный вывод.
6.17. ndb_perror
получить информацию о сообщении об ошибке NDB
ndb_perror
показывает информацию об ошибке NDB, учитывая ее код ошибки. Это включает
сообщение об ошибке, тип ошибки и постоянная ли ошибка или временная.
Добавлено в NDB 7.6.4, это предназначается как общедоступная замена для
perror
--ndb .
Применение
ndb_perror [options] error_code
ndb_perror
не должен получать доступ к работающему NDB Cluster (включая узлы SQL).
Чтобы рассмотреть информацию о данной ошибке NDB, вызовите программу,
используя код ошибки в качестве аргумента:
shell> ndb_perror 323
NDB error code 323: Invalid nodegroup id, nodegroup already existing:
Permanent error: Application error
Чтобы показать только сообщение об ошибке, вызовите
ndb_perror с опцией
--silent (краткая форма -s ):
shell> ndb_perror -s 323
Invalid nodegroup id, nodegroup already existing:
Permanent error: Application error
Аналогично perror,
ndb_perror
принимает многократные коды ошибок:
shell> ndb_perror 321 1001
NDB error code 321: Invalid nodegroup id: Permanent error: Application error
NDB error code 1001: Illegal connect string
Дополнительные возможности программы для
ndb_perror
описаны позже в этой секции.
ndb_perror
заменяет perror
--ndb , которая устарела в NDB 7.6.4.
Чтобы сделать замену легче в скриптах и других приложениях,
которые могли бы зависеть от
perror
для получения информации об ошибке NDB,
ndb_perror
поддерживает свою собственную опцию
--ndb , которая ничего не делает.
Следующая таблица включает все опции, которые являются
определенными для программы NDB Cluster
ndb_perror.
Таблица 6.15. Параметры командной строки для ndb_perror
Формат | Описание |
Добавлено, устарело или удалено |
--help ,
-?
|
Отобразить краткую справку |
Добавлено в NDB 7.6.4 |
--ndb
|
Для совместимости с приложениями в зависимости от старых версий perror,
ничего не делает |
Добавлено в NDB 7.6.4 |
--silent ,
-s
|
Покажите только сообщение об ошибке |
Добавлено в NDB 7.6.4 |
--version ,
-V
|
Напечатайте информацию о версии программы |
Добавлено в NDB 7.6.4 |
--verbose ,
-v
|
Подробный вывод, отключите с помощью --silent |
Добавлено в NDB 7.6.4 |
Дополнительные параметры
--help , -?
Свойство |
Значение |
Формат командной строки |
--help |
Добавлено в |
5.7.19-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
TRUE |
Показать краткую справку.
--ndb
Свойство |
Значение |
Формат командной строки |
--ndb |
Добавлено в |
5.7.19-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
TRUE |
Для совместимости с приложениями в зависимости от старых версий
perror,
ничего не делает.
--silent , -s
Свойство |
Значение |
Формат командной строки |
--silent |
Добавлено в |
5.7.19-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
TRUE |
Покажите сообщение только об ошибке.
--version , -V
Свойство |
Значение |
Формат командной строки |
--version |
Добавлено в |
5.7.19-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
TRUE |
Напечатайте информацию о версии программы.
--verbose , -v
Свойство | Значение |
Формат командной строки |
--verbose |
Добавлено в |
5.7.19-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
TRUE |
Многословный вывод, отключите с помощью
--silent .
6.18. ndb_print_backup_file
печатает содержимое файла NDB Backup
ndb_print_backup_file
получает диагностическую информацию из резервного файла кластера.
Применение
ndb_print_backup_file file_name
file_name это название резервного файла группы.
Это может быть любым из файлов (.Data ,
.ctl или
.log ) в каталоге резервирования кластера.
Эти файлы найдены в резервном каталоге узла данных под каталогом
BACKUP-# , где # это
порядковый номер для резервной копии. Для получения дополнительной информации
о резервных файлах группы и их содержании, посмотрите
раздел 7.3.1.
Как
ndb_print_schema_file и
ndb_print_sys_file
(и в отличие от большей части утилит
NDB ,
которые предназначаются, чтобы работать на хосте сервера управления или
соединиться с сервером управления),
ndb_print_backup_file
нужно управлять на узле данных, так как он получает доступ к файловой системе
узла данных непосредственно. Поскольку это не использует сервер управления,
эта утилита может использоваться, когда сервер управления не работает
и даже когда кластер был полностью закрыт.
Дополнительные параметры
Отсутствуют.
6.19. ndb_print_file
печатает содержание файла данных NDB Disk Data
ndb_print_file
получает информацию из файла данных NDB Cluster Disk Data.
Применение
ndb_print_file [-v] [-q] file_name
file_name это название файла данных NDB Cluster Disk Data.
Многократные имена файлов приняты, отделяя пробелами.
Как
ndb_print_schema_file и
ndb_print_sys_file
(и в отличие от большей части утилит
NDB ,
которые предназначаются, чтобы работать на хосте сервера управления или
соединиться с сервером управления)
ndb_print_file
нужно управлять на узле данных, так как он получает доступ к файловой системе
узла данных непосредственно. Поскольку это не использует сервер управления,
эта утилита может использоваться, когда сервер управления не работает
и даже когда кластер был полностью закрыт.
Дополнительные параметры
ndb_print_file
понимает такие опции:
-v : Включить подробный вывод.
-q : Подавить вывод (тихий режим).
--help , -h ,
-? : Вывести краткую справку.
См. раздел 7.13.
6.20. ndb_print_frag_file
Печатает содержание файла списка фрагментов NDB
ndb_print_frag_file
получает информацию из файла списка фрагментов.
Это предназначается для использования в помощи с диагностикой проблем с
перезапусками узла данных.
Применение
ndb_print_frag_file file_name
file_name это название файла списка фрагмента, который соответствует
образцу SX .FragList,
гдк X это цифра в диапазоне 2-9 в файловой системе узла данных, имеющего ID
узла nodeid, в каталоге
ndb_nodeid _fs/DN/DBDIH/
, где N это 1 или
2 . Каждый файл фрагментов содержит записи
фрагментов, принадлежащих каждой таблице NDB .
Для получения дополнительной информации о файлах фрагментов см.
NDB Cluster Data Node File System Directory Files.
Как
ndb_print_backup_file,
ndb_print_sys_file и
ndb_print_schema_file
(и в отличие от большей части утилит
NDB , которые
предназначаются, чтобы работать на хосте сервера управления или
соединиться с сервером управления),
ndb_print_frag_file
нужно управлять на узле данных, так как она получает доступ к файловой
системе узла данных непосредственно. Поскольку это не использует сервер
управления, эта утилита может использоваться, когда сервер управления не
работает, и даже когда кластер был полностью закрыт.
Дополнительные параметры
Отсутствуют.
Образец вывода
shell> ndb_print_frag_file /usr/local/mysqld/data/ndb_3_fs/D1/DBDIH/S2.FragList
Filename: /usr/local/mysqld/data/ndb_3_fs/D1/DBDIH/S2.FragList with size 8192
noOfPages = 1 noOfWords = 182
Table Data
----------
Num Frags: 2 NoOfReplicas: 2 hashpointer: 4294967040
kvalue: 6 mask: 0x00000000 method: HashMap
Storage is on Logged and checkpointed, survives SR
------ Fragment with FragId: 0 --------
Preferred Primary: 2 numStoredReplicas: 2 numOldStoredReplicas: 0 distKey: 0 LogPartId: 0
-------Stored Replica----------
Replica node is: 2 initialGci: 2 numCrashedReplicas = 0 nextLcpNo = 1
LcpNo[0]: maxGciCompleted: 1 maxGciStarted: 2 lcpId: 1 lcpStatus: valid
LcpNo[1]: maxGciCompleted: 0 maxGciStarted: 0 lcpId: 0 lcpStatus: invalid
-------Stored Replica----------
Replica node is: 3 initialGci: 2 numCrashedReplicas = 0 nextLcpNo = 1
LcpNo[0]: maxGciCompleted: 1 maxGciStarted: 2 lcpId: 1 lcpStatus: valid
LcpNo[1]: maxGciCompleted: 0 maxGciStarted: 0 lcpId: 0 lcpStatus: invalid
------ Fragment with FragId: 1 --------
Preferred Primary: 3 numStoredReplicas: 2 numOldStoredReplicas: 0 distKey: 0 LogPartId: 1
-------Stored Replica----------
Replica node is: 3 initialGci: 2 numCrashedReplicas = 0 nextLcpNo = 1
LcpNo[0]: maxGciCompleted: 1 maxGciStarted: 2 lcpId: 1 lcpStatus: valid
LcpNo[1]: maxGciCompleted: 0 maxGciStarted: 0 lcpId: 0 lcpStatus: invalid
-------Stored Replica----------
Replica node is: 2 initialGci: 2 numCrashedReplicas = 0 nextLcpNo = 1
LcpNo[0]: maxGciCompleted: 1 maxGciStarted: 2 lcpId: 1 lcpStatus: valid
LcpNo[1]: maxGciCompleted: 0 maxGciStarted: 0 lcpId: 0 lcpStatus: invalid
6.21. ndb_print_schema_file
Печатает содержание файла схемы NDB
ndb_print_schema_file
получает диагностическую информацию из файла схемы.
Применение
ndb_print_schema_file file_name
file_name это название файла схемы. См.
NDB Cluster Data Node File System Directory Files.
Как
ndb_print_backup_file и
ndb_print_sys_file
(и в отличие от большей части утилит
NDB ,
которые предназначаются, чтобы работать на хосте сервера управления или
соединиться с сервером управления),
ndb_print_schema_file
нужно управлять на узле данных, так как она получает доступ к файловой
системе узла данных непосредственно. Поскольку это не использует сервер
управления, эта утилита может использоваться, когда сервер управления не
работает, и даже когда кластер полностью закрыт.
Дополнительные параметры
Отсутствуют.
6.22. ndb_print_sys_file
Печатает содержание системного файла NDB
ndb_print_sys_file
получает диагностическую информацию из файла системного файла NDB Cluster.
Применение
ndb_print_sys_file file_name
file_name это название файла кластерной системы (sysfile).
Файлы кластерной системы расположены в каталоге данных узла данных
(
DataDir ), путь в соответствии с этим каталогом к системным файлам
соответствует образцу
ndb_# _fs/D#/DBDIH/P
#.sysfile. Здесь # представляет число (не обязательно то
же самое число). Для получения дополнительной информации см.
NDB Cluster Data Node File System Directory Files.
Как
ndb_print_backup_file и
ndb_print_schema_file
(и в отличие от большей части утилит
other NDB ,
которые предназначаются, чтобы управляться на хосте сервера управления или
соединиться с сервером управления),
ndb_print_backup_file
нужно управлять на узле данных, так как она получает доступ к файловой
системе узла данных непосредственно. Поскольку это не использует сервер
управления, эта утилита может использоваться, когда сервер управления не
работает, и даже когда кластер полностью закрыт.
Дополнительные параметры
Отсутствуют.
6.23. ndb_redo_log_reader
проверяет и печатает содержимое журнала отката кластера
Читает файл журнала отката, проверяет его, печатает его
содержание в человекочитаемом формате.
ndb_redo_log_reader
предназначается для использования, прежде всего, разработчиками и поддержкой
NDB Cluster при отладке и диагностировании проблем.
Эта утилита остается разрабатываемой, и ее синтаксис и поведение
подвержены изменениям в будущих выпусках NDB Cluster.
До NDB 7.2 утилита называлась
ndbd_redo_log_reader.
Исходные файлы C++ для
ndb_redo_log_reader
лежат в каталоге
/storage/ndb/src/kernel/blocks/dblqh/redoLogReader .
Следующая таблица включает опции, которые являются определенными для
программы
ndb_redo_log_reader.
Таблица 6.16. Параметры командной строки для ndb_redo_log_reader
Формат | Описание |
Добавлено, устарело или удалено |
-dump
|
Печатаь информацию дампа |
Все выпуски на основе MySQL 5.7 |
-filedescriptors
|
Напечатайте только дескрипторы файлов |
Все выпуски на основе MySQL 5.7 |
--help
|
Вывести краткую справку |
Все выпуски на основе MySQL 5.7 |
-lap
|
Обеспечьте информацию с максимальным начатым и законченным GCI |
Все выпуски на основе MySQL 5.7 |
-mbyte
#
|
Стартовый мегабайт |
Все выпуски на основе MySQL 5.7 |
-mbyteheaders
|
Покажите только первый заголовок страницы каждого мегабайта в файле |
Все выпуски на основе MySQL 5.7 |
-nocheck
|
Не проверяйте записи на ошибки |
Все выпуски на основе MySQL 5.7 |
-noprint
|
Не печатайте записи |
Все выпуски на основе MySQL 5.7 |
-page #
|
Начните с этой страницы |
Все выпуски на основе MySQL 5.7 |
-pageheaders
|
Покажите только заголовки страницы |
Все выпуски на основе MySQL 5.7 |
-pageindex
#
|
Начните с этого индекса страницы |
Все выпуски на основе MySQL 5.7 |
-twiddle
|
Сдвинутый побитно дамп |
Все выпуски на основе MySQL 5.7 |
Применение
ndb_redo_log_reader file_name [options]
file_name это название файла журнала отката.
Файлы журнала отката расположены в пронумерованных каталогах в соответствии
со каталогом данных узла данных
(
DataDir ), путь в соответствии с этим каталогом к файлам журнала
отката соответствует образцу
ndb_nodeid
_fs/D#/DBLQH/S#.FragLog.
nodeid это ID узла данных. Два экземпляра # каждый представляют число (не
обязательно то же самое число), число после D
находится в диапазоне 8-39 включительно, диапазон числа после
S варьируется согласно значению параметра
NoOfFragmentLogFiles ,
значение по умолчанию которого 16, таким образом диапазон умолчаний числа в
имени файла 0-15 включительно. Для получения дополнительной информации см.
NDB Cluster Data Node File System Directory Files.
Название файла, который будет прочитан, может сопровождаться
опциями, перечисленных здесь:
-dump
Свойство |
Значение |
Формат командной строки |
-dump |
Тип |
Boolean |
Умолчание |
FALSE |
Печатать информацию дампа.
-
Свойство |
Значение |
Формат командной строки |
-filedescriptors |
Тип |
Boolean |
Умолчание |
FALSE |
-filedescriptors :
Напечатайте только дескрипторы файлов.
-
Свойство |
Значение |
Формат командной строки |
--help |
--help : напечатать краткую справку.
-lap
Свойство |
Значение |
Формат командной строки |
-lap |
Тип |
Boolean |
Умолчание |
FALSE |
Обеспечьте информацию с максимальным начатым и законченным GCI.
-
Свойство |
Значение |
Формат командной строки |
-mbyte # |
Тип |
Numeric |
Умолчание |
0 |
Минимум |
0 |
Максимум |
15 |
-mbyte # : Стартовый мегабайт.
# это integer в диапазоне от 0 до 15 включительно.
-
Свойство |
Значение |
Формат командной строки |
-mbyteheaders |
Тип |
Boolean |
Умолчание |
FALSE |
-mbyteheaders :
Покажите только первый заголовок страницы каждого мегабайта в файле.
-
Свойство |
Значение |
Формат командной строки |
-noprint |
Тип |
Boolean |
Умолчание |
FALSE |
-noprint :
Не печатайте содержание файла журнала.
-
Свойство |
Значение |
Формат командной строки |
-nocheck |
Тип |
Boolean |
Умолчание |
FALSE |
-nocheck :
Не проверяйте файл журнала.
-
Свойство |
Значение |
Формат командной строки |
-page # |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
31 |
-page # :
Начните на уровне этой страницы.
# это integer в диапазоне от 0 до 31 включительно.
-
Свойство |
Значение |
Формат командной строки |
-pageheaders |
Тип |
Boolean |
Умолчание |
FALSE |
-pageheaders :
Покажите только заголовок страницы.
-
Свойство |
Значение |
Формат командной строки |
-pageindex # |
Тип |
Integer |
Умолчание |
12 |
Минимум |
12 |
Максимум |
8191 |
-pageindex # :
Начните в этом индексе страницы.
# это integer от 12 до 8191 включительно.
-twiddle
Свойство |
Значение |
Формат командной строки |
-twiddle |
Тип |
Boolean |
Умолчание |
FALSE |
Дамп с битовым сдвигом.
Как
ndb_print_backup_file и
ndb_print_schema_file
(и в отличие от большей части утилит
NDB ,
которые предназначаются, чтобы управляться на хосте сервера управления или
соединиться с сервером управления)
ndb_redo_log_reader
нужно управлять на узле данных, так как она получает доступ к файловой
системе узла данных непосредственно. Поскольку это не использует сервер
управления, эта утилита может использоваться, когда сервер управления не
работает, и даже когда кластер полностью закрыт.
6.24. ndb_restore
восстанавливает резервную копию NDB Cluster
Программа восстановления NDB Cluster
осуществляется как отдельная утилита командной строки
ndb_restore,
которая может обычно находится в каталоге bin .
Эта программа читает файлы, созданные в результате создания резервной копии,
и вставляет информацию в базу данных.
Начиная с NDB 7.5.15 и 7.6.11, эта программа больше не печатает
NDBT_ProgramExit: ... ,
когда заканчивает. Приложения в зависимости от этого поведения должны быть
изменены соответственно, модернизируя от более ранних выпусков.
ndb_restore
должна быть выполнена однажды на каждый из резервных файлов, которые были
созданы
START BACKUP для
создания резервной копии (см.
раздел
7.3.2). Это равно количеству узлов данных в кластере
в то время, когда резервная копия была создана.
До применения
ndb_restore
рекомендуется, чтобы кластер был в однопользовательском режиме, если вы не
восстанавливаете много узлов данных параллельно. Посмотрите
раздел 7.8.
Таблица 6.17. Параметры командной строки для ndb_restore
Формат | Описание |
Добавлено, устарело или удалено |
--append
|
Добавить данные к файлу с разделением табуляцией |
Все выпуски на основе MySQL 5.7 |
--backup-path=dir_name
|
Путь к каталогу резервных файлов |
Все выпуски на основе MySQL 5.7 |
--backupid=#
,
-b
|
Восстановите из резервной копии с данным ID |
Все выпуски на основе MySQL 5.7 |
--connect ,
-c
|
Псевдоним для --connectstring. |
Все выпуски на основе MySQL 5.7 |
--disable-indexes
|
Игнорировать индексы из резервной копии,
может уменьшить время, чтобы восстановить данные. |
Все выпуски на основе MySQL 5.7 |
--dont-ignore-systab-0 ,
-f
|
Не игнорируйте системную таблицу во время восстановления,
не для производственного использования |
Все выпуски на основе MySQL 5.7 |
--exclude-databases=db-list
|
Список баз данных, чтобы исключить |
Все выпуски на основе MySQL 5.7 |
--exclude-intermediate-sql-tables[=TRUE|FALSE]
|
Если TRUE (умолчание), не восстанавливать промежуточные таблицы
(имена с префиксом '#sql-'), которые были перенесены от копирования
операций ALTER TABLE. |
Все выпуски на основе MySQL 5.7 |
--exclude-missing-columns
|
Колонки от резервной версии таблицы, которые отсутствуют в версии таблицы
в базе данных, проигнорировать. |
Все выпуски на основе MySQL 5.7 |
--exclude-missing-tables
|
Таблицы из резервной копии, которые отсутствуют в
базе данных, проигнорировать. |
Все выпуски на основе MySQL 5.7 |
--exclude-tables=table-list
|
Список таблиц, чтобы исключить,
каждая ссылка на таблицу должна включать имя базы данных |
Все выпуски на основе MySQL 5.7 |
--fields-enclosed-by=char
|
Области добавлены к обозначенному символу |
Все выпуски на основе MySQL 5.7 |
--fields-optionally-enclosed-by
|
Области произвольно добавлены к обозначенному символу |
Все выпуски на основе MySQL 5.7 |
--fields-terminated-by=char
|
Области закончены обозначенным символом |
Все выпуски на основе MySQL 5.7 |
--hex
|
Напечатайте двоичные типы в шестнадцатеричном формате |
Все выпуски на основе MySQL 5.7 |
--include-databases=db-list
|
Список баз данных, чтобы восстановить |
Все выпуски на основе MySQL 5.7 |
--include-tables=table-list
|
Список таблиц, чтобы восстановить,
каждая ссылка на таблицу должна включать имя базы данных |
Все выпуски на основе MySQL 5.7 |
--lines-terminated-by=char
|
Строки закончены обозначенным символом |
Все выпуски на основе MySQL 5.7 |
--lossy-conversions ,
-L
|
Позвольте преобразования с потерями значений столбцов
(например, изменения в знаке), восстанавливая данные из резервной копии |
Все выпуски на основе MySQL 5.7 |
--no-binlog
|
Если mysqld связан и идет использование двоичной регистрации,
не регистрируйте восстановленные данные |
Все выпуски на основе MySQL 5.7 |
--no-restore-disk-objects ,
-d
|
Не восстанавливайте объекты, касающиеся Disk Data |
Все выпуски на основе MySQL 5.7 |
--no-upgrade
,
-u
|
Не модернизируйте тип массива для признаков varsize, которые уже не
изменяют размеры данных VAR и не изменяют признаки колонки |
Все выпуски на основе MySQL 5.7 |
--ndb-nodegroup-map=map ,
-z
|
Отобразить группы узлов для NDBCLUSTER.
Синтаксис: список (source_nodegroup, destination_nodegroup) |
Все выпуски на основе MySQL 5.7 |
--num-slices=# , |
Количество частей, чтобы восстановить |
Добавлено в NDB 7.6.13 |
--nodeid=# ,
-n
|
ID узла, где резервная копия была взята |
Все выпуски на основе MySQL 5.7 |
--parallelism=# ,
-p
|
Количество параллельных транзакций, чтобы
использовать, восстанавливая данные |
Все выпуски на основе MySQL 5.7 |
--preserve-trailing-spaces ,
-P
|
Позвольте сохранение конечных пробелов (включая дополнение),
преобразуя строковые типы фиксированной ширины в типы переменной ширины |
Все выпуски на основе MySQL 5.7 |
--print
|
Вывести метаданные, данные и регистрацию в stdout (аналог --print-meta
--print-data --print-log) |
Все выпуски на основе MySQL 5.7 |
--print-data
|
Вывод данных в stdout |
Все выпуски на основе MySQL 5.7 |
--print-log
|
Вывод в stdout |
Все выпуски на основе MySQL 5.7 |
--print-meta
|
Вывод метаданных в stdout |
Все выпуски на основе MySQL 5.7 |
print-sql-log
|
Напишите регистрацию SQL в stdout, по умолчанию FALSE |
Добавлено в NDB 7.5.4 |
--progress-frequency=#
|
Статус восстановления каждое заданное число секунд |
Все выпуски на основе MySQL 5.7 |
--promote-attributes ,
-A
|
Позвольте признакам меняться, восстанавливая данные
из резервной копии |
Все выпуски на основе MySQL 5.7 |
--rebuild-indexes
|
Вызывает многопоточное восстановление упорядоченных
индексов, найденных в резервной копии. Количество используемых потоков
определяется, устанавливая параметр BuildIndexThreads. |
Все выпуски на основе MySQL 5.7 |
--restore-data
,
-r
|
Восстановите данные таблицы и регистрации в NDB Cluster через
NDB API |
Все выпуски на основе MySQL 5.7 |
--restore-epoch
,
-e
|
Восстановите информацию об эпохе в таблице статуса. Удобно на ведомом
репликации MySQL Cluster для старта репликации. Строка в
replication slave for starting replication. The row in
mysql.ndb_apply_status с id 0 должна быть обновлена/вставлена. |
Все выпуски на основе MySQL 5.7 |
--restore-meta ,
-m
|
Верните метаданные NDB Cluster через NDB API |
Все выпуски на основе MySQL 5.7 |
--restore-privilege-tables
|
Восстановите таблицы привилегий MySQL, которые были
ранее перемещены в NDB. |
Все выпуски на основе MySQL 5.7 |
--rewrite-database=olddb,newdb
|
Вернуть базе данных с другим именем, чем оригинал |
Все выпуски на основе MySQL 5.7 |
--skip-broken-objects
|
Недостающие таблицы blob в резервном файле проигнорировать. |
Все выпуски на основе MySQL 5.7 |
--skip-table-check ,
-s
|
Пропустите проверку структуры таблицы во время восстановления данных |
Все выпуски на основе MySQL 5.7 |
--skip-unknown-objects
|
Объекты схемы, не признанные ndb_restore, проигнорировать, восстанавливая
резервную копию, сделанную от более новой версии MySQL Cluster в
более старой версии. |
Все выпуски на основе MySQL 5.7 |
--slice-id=#
,
|
ID части, чтобы восстановить |
Добавлено в NDB 7.6.13 |
--tab=dir_name ,
-T
dir_name
|
Создает отделенный табуляциями .txt-файл
для каждой таблицы в данном пути |
Все выпуски на основе MySQL 5.7 |
--verbose=#
|
Уровень многословия в выводе |
Все выпуски на основе MySQL 5.7 |
Типичные опции для этой утилиты:
ndb_restore [-c connection_string] -n node_id -b backup_id \
[-m] -r --backup-path=/path/to/backup/files
Обычно, восстанавливая из резервной копии NDB Cluster,
ndb_restore
требует как минимум опций
--nodeid (краткая форма: -n ),
--backupid (краткая форма: -b ) и
--backup-path . Кроме того, когда
ndb_restore
используется, чтобы восстановить любые таблицы, содержащие уникальные
индексы, необходимо включать
--disable-indexes или
--rebuild-indexes
(Bug #57782, Bug #11764893).
Опция -c
используется, чтобы определить строку подключения, которая говорит
ndb_restore
где определить местонахождение сервера управления (см.
раздел 5.3.3).
Если этот выбор не используется, то
ndb_restore
пытается соединиться с сервером управления на
localhost:1186 .
Эта утилита действует как узел API и требует свободный
слот для связи с сервером управления.
Это означает, что должен быть по крайней мере один раздел
[api] или [mysqld] ,
который может использоваться в config.ini .
Хорошая идея сохранять по крайней мере один раздел
[api] или
[mysqld] пустым в
config.ini (см.
раздел 5.3.7).
Можно проверить, что
ndb_restore связан с
кластером при помощи команды
SHOW в
ndb_mgm.
Можно также достигнуть этого от системной оболочки:
shell> ndb_mgm -e "SHOW"
Более подробная информация обо всех опциях, используемых
ndb_restore,
может быть найдена в следующем списке:
--append
Свойство | Значение |
Формат командной строки |
--append |
Когда используется с
--tab и
--print-data ,
это заставляет данные быть добавленными к любым существующим файлам, имеющим
те же самые имена.
--backup-path =
dir_name
Свойство | Значение |
Формат командной строки |
--backup-path=dir_name |
Тип |
Directory name |
Умолчание |
./ |
Путь к резервному каталогу, это поставляется
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. Посмотрите
раздел 4.9.
Невозможно восстановить резервную копию, сделанную из более новой версии
NDB Cluster, используя более старую версию
ndb_restore.
Можно восстановить резервную копию, сделанную из более новой версии MySQL к
более старой, но необходимо использовать копию
ndb_restore
от более новой версии NDB Cluster.
Например, чтобы восстановить резервную копию кластера NDB Cluster 7.5.17
на NDB Cluster 7.4.27, необходимо использовать
ndb_restore, который идет с
NDB Cluster 7.5.17.
Для более быстрого восстановления данные могут быть восстановлены
параллельно, при условии, что есть достаточное число доступных связей.
Таким образом, работая с многими узлами параллельно, вы должны иметь
раздел [api] или
[mysqld] в
config.ini , доступный для
каждого параллельного процесса
ndb_restore.
Однако, файлы данных должны всегда применяться перед регистрациями.
--backupid =
# , -b
Свойство |
Значение |
Формат командной строки |
--backupid=# |
Тип |
Numeric |
Умолчание |
none |
Этот выбор используется, чтобы определить идентификационный или порядковый
номер резервной копии и является тем же самым числом, показанным клиентом
управления в Backup backup_id completed
после завершения резервной копии. См.
раздел 7.3.2.
Восстанавливая резервные копии, необходимо будет восстановить все узлы
данных из резервных копий, имеющих тот же самый резервный ID.
Использование файлов из различных резервных копий в лучшем случае приведет к
восстановлению к непоследовательному состоянию
и может потерпеть неудачу в целом.
В NDB 7.5.13 и позже и в NDB 7.6.9 и позже эта опция обязательна.
--connect , -c
Свойство |
Значение |
Формат командной строки |
--connect |
Тип |
String |
Умолчание |
localhost:1186 |
Псевдоним для
--ndb-connectstring .
--disable-indexes
Свойство | Значение |
Формат командной строки |
--disable-indexes |
Отключите восстановление индексов во время восстановления данных
NDB . Впоследствии можно восстановить индексы для
всех таблиц сразу с многопоточным созданием индексов через
--rebuild-indexes , что
должно быть быстрее, чем восстановление индексов одновременно для
очень больших таблиц.
--dont-ignore-systab-0 ,
-f
Свойство | Значение |
Формат командной строки |
--dont-ignore-systab-0 |
Обычно, восстанавливая данные и метаданные,
ndb_restore
игнорирует копию системной таблицы
NDB , которая присутствует в резервной копии.
--dont-ignore-systab-0 заставляет восстановить
системную таблицу. Этот выбор экспериментальный и
не рекомендуется в производственной среде.
--exclude-databases =
db-list
Свойство | Значение |
Формат командной строки |
--exclude-databases=db-list |
Тип |
String |
Умолчание |
|
Разграниченный запятой список
баз данных, которые не должны быть восстановлены.
Этот выбор часто используется в сочетании с
--exclude-tables .
--exclude-intermediate-sql-tables[ =
TRUE|FALSE]
Свойство | Значение |
Формат командной строки |
--exclude-intermediate-sql-tables[=TRUE|FALSE]
|
Тип |
Boolean |
Умолчание |
TRUE |
Выполняя копирование операций
ALTER TABLE ,
mysqld
составляет промежуточные таблицы (чьи имена имеют префикс
#sql- ). Когда TRUE ,
опция --exclude-intermediate-sql-tables
мешает
ndb_restore
восстанавливать такие таблицы, которые, возможно, были перенесены от этих
операций. Этот выбор TRUE по умолчанию.
--exclude-missing-columns
Свойство | Значение |
Формат командной строки |
--exclude-missing-columns |
Возможно восстановить только отобранные столбцы таблицы, используя этот
выбор, который заставляет
ndb_restore
игнорировать любые колонки, отсутствующие в восстанавливаемых таблицах по
сравнению с версиями таблиц, найденных в резервной копии.
Этот выбор относится ко всем восстанавливаемым таблицам. Если вы хотите
применить этот выбор только к отобранным таблицам или базам данных, можно
использовать его в сочетании с
--include-* или
--exclude-* ,
затем верните данные остающимся таблицам, используя дополнительный
набор этих опций.
--exclude-missing-tables
Свойство | Значение |
Формат командной строки |
--exclude-missing-tables |
Возможно восстановить только отобранные таблицы, используя этот
выбор, который заставляет
ndb_restore
игнорировать любые таблицы из резервной копии, которые не найдены
в целевой базе данных.
--exclude-tables =
table-list
Свойство |
Значение |
Формат командной строки |
--exclude-tables=table-list |
Тип |
String |
Умолчание |
|
Список таблиц, чтобы исключить, каждая ссылка на таблицу должна включать
имя базы данных. Часто используется вместе с
--exclude-databases .
При использовании --exclude-databases или
--exclude-tables
только базы данных или таблицы, названные выбором, исключены, все другие базы
данных и таблицы восстановлены
ndb_restore.
Эта таблица показывает несколько вызовов
ndb_restore с
--exclude-* (другие опции, возможно требуемые,
были опущены для ясности) и эффекты, которые эти опции имеют при
восстановлении из резервной копии NDB Cluster:
Таблица 6.18. Несколько вызовов ndb_restore с --exclude-*
и результат их действия.
Опция |
Результат |
--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
не восстановлены, все таблицы во всех других базах данных восстановлены |
Можно использовать эти два варианта вместе.
Например, следующее предписывает восстановить
все таблицы во всех базах данных
кроме
db1 и db2 , а также
tables t1 и t2 в
database 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
--fields-enclosed-by =
char
Свойство | Значение |
Формат командной строки |
--fields-enclosed-by=char |
Тип |
String |
Умолчание |
|
Каждое значение столбца дополнено последовательностью, переданной к этому
выбору (независимо от типа данных, см. описание
--fields-optionally-enclosed-by ).
--fields-optionally-enclosed-by
Свойство | Значение |
Формат командной строки |
--fields-optionally-enclosed-by |
Тип |
String |
Умолчание |
|
Последовательность, переданная к этому выбору, используется, чтобы
дописать значения столбцов, содержащие символы (например,
CHAR ,
VARCHAR ,
BINARY ,
TEXT или
ENUM ).
--fields-terminated-by =
char
Свойство | Значение |
Формат командной строки |
--fields-terminated-by=char |
Тип |
String |
Умолчание |
\t (tab) |
Последовательность, переданная к этому выбору, используется, чтобы
отделить значения столбцов. Значение по умолчанию: символ табуляции
(\t ).
--hex
Свойство | Значение |
Формат командной строки |
--hex |
Если этот выбор используется, все двоичные значения
произведены в шестнадцатеричном формате.
--include-databases =
db-list
Свойство | Значение |
Формат командной строки |
--include-databases=db-list |
Тип |
String |
Умолчание |
|
Разграниченный запятой список
баз данных, чтобы восстановить. Часто используется вместе с
--include-tables .
--include-tables =
table-list
Свойство | Значение |
Формат командной строки |
--include-tables=table-list |
Тип |
String |
Умолчание |
|
Разграниченный запятой список таблиц, чтобы восстановить, каждая ссылка на
таблицу должна включать имя базы данных.
При использовании --include-databases или
--include-tables восстановлены
только те базы данных или таблицы, которые названы выбором,
все другие базы данных и таблицы исключены
ndb_restore
и не восстановлены.
Следующая таблица показывает несколько вариантов использования
ndb_restore с опциями
--include-* :
Таблица 6.19. Несколько вариантов использования ndb_restore с
--include-* и их действие.
Опция |
Результат |
--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 или
любой другой базе данных не восстановлены |
Можно также использовать эти два варианта вместе. Например, следующее
восстановит все таблицы в базах данных
db1 и db2 ,
вместе с таблицами t1 и
t2 в БД db3
(и никакие другие базы данных или таблицы):
shell> ndb_restore [...] --include-databases=db1,db2 \
--include-tables=db3.t1,db3.t2
Также возможно восстановить только отобранные базы данных или отобранные
таблицы от единой базы данных без опций
--include-* (или
--exclude-* ):
ndb_restore other_options db_name, [db_name[,...] | tbl_name[, \
tbl_name][,...]]
Другими словами, можно определить любое из следующих,
которые будут восстановлены:
--lines-terminated-by =
char
Свойство |
Значение |
Формат командной строки |
--lines-terminated-by=char |
Тип |
String |
Умолчание |
\n (linebreak) |
Определяет последовательность, которая заканчивает каждую строку
вывода. Умолчание: символ перевода строки
(\n ).
--lossy-conversions ,
-L
Свойство |
Значение |
Формат командной строки |
--lossy-conversions |
Тип |
Boolean |
Умолчание |
FALSE (если опция не использована) |
Этот выбор предназначается для дополнения
--promote-attributes .
Применение --lossy-conversions
позволяет преобразования с потерями значений столбцов (изменение типа или
знака), восстанавливая данные из резервной копии. За некоторыми исключениями
правила, управляющие изменением, совпадают с правилами для
MySQL replication, см.
Replication of Columns Having Different Data Types.
ndb_restore
сообщает о любом усечении данных, которые это выполняет во время
преобразований с потерями однажды на признак и колонку.
--no-binlog
Свойство |
Значение |
Формат командной строки |
--no-binlog |
Этот выбор запрещает узлам SQL писать данные, восстановленные
data restored by
ndb_restore
в двоичный журнал.
--no-restore-disk-objects ,
-d
Свойство |
Значение |
Формат командной строки |
--no-restore-disk-objects |
Тип |
Boolean |
Умолчание |
FALSE |
Этот выбор мешает
ndb_restore
восстановить любые объекты NDB Cluster Disk Data,
такие как группы файла журнала и табличные пространства, посмотрите
раздел 7.13.
--no-upgrade , -u
Свойство |
Значение |
Формат командной строки |
--no-upgrade |
Используя
ndb_restore,
чтобы восстановить резервную копию, столбцы
VARCHAR ,
созданные с использованием старого фиксированного формата, изменены и
воссоздал с использованием формата переменной ширины, теперь используемого.
Это поведение может быть отвергнуто, определив
--no-upgrade .
--ndb-nodegroup-map =
map , -z
Свойство | Значение |
Формат командной строки |
--ndb-nodegroup-map=map |
Этот выбор может использоваться, чтобы восстановить резервную копию,
взятую от одной группы узлов, к иной группе узлов. Его аргумент это
список формы source_node_group, target_node_group
.
--nodeid =#,
-n
Свойство | Значение |
Формат командной строки |
--nodeid=# |
Тип |
Numeric |
Умолчание |
none |
Определите ID узла данных, на котором была взята резервная копия.
Восстанавливая к группе с количеством узлов данных, отличным от того,
где резервная копия была взята, эта информация помогает определить правильный
набор или наборы файлов, которые вернутся данному узлу. В таких случаях много
файлов обычно должны вернуться единственному узлу данных. Посмотрите
раздел 6.24.1.
В NDB 7.5.13 и позже и в NDB 7.6.9 и позже эта опция обязательна.
--num-slices =
#
Свойство |
Значение |
Формат командной строки |
--num-slices=# |
Добавлено в
| 5.7.29-ndb-7.6.13 |
Тип |
Integer |
Умолчание |
1 |
Минимум |
1 |
Максимум |
1024 |
Восстанавливая резервную копию частями, этот выбор определяет число
частей, на которые можно разделить резервную копию. Это позволяет
многократным копиям
ndb_restore
восстанавливать несвязные подмножества параллельно, потенциально уменьшая
количество времени, требуемое, чтобьы выполнить операцию восстановления.
slice это
подмножество данных в данной резервной копии
то есть, это ряд фрагментов, имеющих тото же самый ID части, определенный
использованием опции
--slice-id .
Эти два варианта должны всегда использоваться вместе, и набор значений
--slice-id
должен всегда быть меньше, чем количество частей.
ndb_restore
сталкивается с фрагментами и назначает каждому счетчик фрагмента.
Восстанавливая частями, ID части назначен на каждый фрагмент, эта часть ID
находится в диапазоне от 0 до количество частей-1.
Для таблицы, которая не является
BLOB ,
часть, которой принадлежит данный фрагмент, определяются, используя
формулу, показанную здесь:
[slice_ID] = [fragment_counter] % [number_of_slices]
Для таблиц BLOB счетчик
фрагмента не используется, номер фрагмента используется вместо этого, наряду
с ID главной таблицы для BLOB
(NDB хранит значения BLOB
в отдельной таблице внутренне). В этом случае ID части для данного фрагмента
вычисляется как показано здесь:
[slice_ID] = ([main_table_ID] + [fragment_ID]) % [number_of_slices]
Таким образом, восстановление N частей означает выполнение N экземпляров
ndb_restore, все с опцией
--num-slices=
N (наряду с любыми другими необходимыми опциями),
то есть с опциями
--slice-id=1 , --slice-id=2 ,
--slice-id=3 и так далее до
slice-id=N -1.
--parallelism =
# , -p
Свойство | Значение |
Формат командной строки |
--parallelism=# |
Тип |
Numeric |
Умолчание |
128 |
Минимум |
1 |
Максимум |
1024 |
ndb_restore использует
транзакции единственной строки, чтобы применить много строк одновременно.
Этот параметр определяет количество параллельных транзакций
(параллельных строк), которые экземпляр
ndb_restore
пытается использовать. По умолчанию это
равняется 128, минимум 1, максимум 1024.
Выполнение вставок работает через потоки во
включенных узлах данных. Этот механизм используется для восстановления
оптовых данных из файлов .Data
то есть, нечеткий снимок данных, это не используется для
восстановления индексов. Журнал изменений применяется последовательно,
операции удаления и построения индекса и DDL обработаны отдельно.
Нет никакого параллелизма на уровне потоков на клиентской
стороне при восстановлении.
--preserve-trailing-spaces ,
-P
Свойство | Значение |
Формат командной строки |
--preserve-trailing-spaces |
Заставьте конечные пробелы быть сохраненными, приспосабливая
символьный тип данных фиксированной ширины к его эквивалентной переменной
ширине то есть, конвертируя
CHAR в
VARCHAR или
BINARY в
VARBINARY .
Иначе любые конечные пробелы исключены из таких значений столбцов, когда они
вставляются в новые колонки.
Хотя можно конвертировать
CHAR в
VARCHAR и
BINARY в
VARBINARY , нельзя
конвертировать VARCHAR в
CHAR или
VARBINARY в
BINARY .
--print
Свойство | Значение |
Формат командной строки |
--print |
Тип |
Boolean |
Умолчание |
FALSE |
Предписывает
ndb_restore
напечатать все данные, метаданные и регистрации в
stdout . Эквивалентно использованию
--print-data ,
--print-meta и
--print-log вместе.
Использование --print или любой из опции
--print_*
в действительности выполняет пробный прогон. Включение одной или больше из
этих опций заставляет любой вывод быть перенаправленным в
stdout , в таких случаях
ndb_restore не
предпринимает попытки восстановить данные или
метаданные в NDB Cluster.
--print-data
Свойство | Значение |
Формат командной строки |
--print-data |
Тип |
Boolean |
Умолчание |
FALSE |
Предписывает
ndb_restore
направлять свой вывод в stdout .
Часто используется вместе с
--tab ,
--fields-enclosed-by ,
--fields-optionally-enclosed-by ,
--fields-terminated-by ,
--hex и
--append .
TEXT и
BLOB всегда усеченные.
Такие значения усечены к первым 256 байтам в вывода. Это не может в настоящее
время отвергаться, используя --print-data
.
--print-log
Свойство | Значение |
Формат командной строки |
--print-log |
Тип |
Boolean |
Умолчание |
FALSE |
Предписывает
ndb_restore
производить свою регистрацию в stdout .
--print-meta
Свойство | Значение |
Формат командной строки |
--print-meta |
Тип |
Boolean |
Умолчание |
FALSE |
Напечатайте все метаданные в stdout .
print-sql-log
Свойство | Значение |
Формат командной строки |
--print-sql-log |
Добавлено в
| 5.7.16-ndb-7.5.4 |
Тип |
Boolean |
Умолчание |
FALSE |
Зарегистрируйте SQL-операторы в stdout .
Используйте опцию для включения, обычно это поведение отключено.
Опция проверяет прежде, чем попытаться зарегистрировать, определили ли все
восстанавливаемые таблицы явно первичные ключи, запросы на таблице, имеющей
только скрытый первичный ключ, осуществленный
NDB , не могут быть
преобразованы в действительный SQL.
Этот выбор не работает с таблицами со столбцами
BLOB .
--print-sql-log добавлена в
NDB 7.5.4 (Bug #13511949).
--progress-frequency =N
Свойство | Значение |
Формат командной строки |
--progress-frequency=# |
Тип |
Numeric |
Умолчание |
0 |
Минимум |
0 |
Максимум |
65535 |
Напечатайте отчет о состоянии каждые N
секунд в то время, как выполняется резервная копия. 0 (умолчание)
не печатает отчетов о состоянии. Максимум 65535.
--promote-attributes ,
-A
Свойство | Значение |
Формат командной строки |
--promote-attributes |
ndb_restore допускает
ограниченное изменение атрибутов
почти таким же способом, как MySQL replication. То есть, данные из
колонки данного типа могут обычно вернуться колонке, используя
больший, подобный тип. Например, данные из
CHAR(20) могут вернуться колонке, объявленной
как VARCHAR(20) ,
VARCHAR(30) или
CHAR(30) , данные из
MEDIUMINT можно вернуть в
INT или
BIGINT . См.
Replication of Columns Having Different Data Types.
Изменение в
ndb_restore
должно быть позволено явно, следующим образом:
Подготовьте таблицу, которой должна вернуться резервная копия.
ndb_restore
не может использоваться, чтобы воссоздать таблицу с определением, отличным от
оригинала, это означает, что необходимо составить таблицу вручную или
изменить колонки, которые вы хотите конвертировать, с использованием
ALTER TABLE после
восстановления метаданных таблицы, но прежде,
чем восстановить данные.
Вызовите
ndb_restore с
--promote-attributes
(краткая форма -A ), восстанавливая данные.
Изменения признака не происходит, если этот выбор не используется,
вместо этого операция терпит неудачу с ошибкой.
Преобразовывая между символьными типами данных и
TEXT или BLOB ,
только преобразования между типами символов
(CHAR и
VARCHAR ) и двоиными типами
(BINARY и
VARBINARY )
могут быть выполнен в то же время. Например, вы не можете конвертировать
INT в
BIGINT , преобразуя
VARCHAR в
TEXT в том же вызове
ndb_restore.
Преобразование между столбцами
TEXT ,
используя различные наборы символов не поддерживаются и явно отвергнуты.
При выполнении преобразований символов или двоичных типов в
TEXT или BLOB с
ndb_restore,
можно заметить, что он создает и использует один или несколько таблиц
с именами table_name
$STnode_id.
Эти таблицы не необходимы впоследствии и обычно удаляются
ndb_restore
после успешного восстановления.
--rebuild-indexes
Свойство | Значение |
Формат командной строки |
--rebuild-indexes |
Позвольте многопоточное восстановление упорядоченных
индексов, восстанавливая NDB .
Количеством потоков, используемых для создания индексов
ndb_restore, управляют
параметр конфигурации узла данных
BuildIndexThreads и количество LDM.
Необходимо использовать эту возможность только для первого выполнения
ndb_restore,
это заставляет все упорядоченные индексы быть восстановленными без
использования --rebuild-indexes , восстанавливая
последующие узлы. Необходимо использовать этот выбор до вставки новых строк в
базу данных, иначе для вставленной позднее строки возможно нарушение
ограничения на уникальность данных, пытаясь восстановить индексы.
Создание упорядоченных индексов параллельно
с количеством LDM по умолчанию. Создание офлайнового индекса
во время работы узла и системные перезапуски могут быть сделаны более
быстрыми с использованием параметра конфигурации узла данных
BuildIndexThreads ,
этот параметр не имеет никакого эффекта на удаление и восстановление индексов
ndb_restore,
которые выполняются онлайн.
Восстановление уникальных индексов использует пропускную способность
записи на диск для журналов и местных контрольных точек. Недостаточная
пропускная способность может вести к переполнению буфера повторов или
журнала. В таких случаях можно выполнить
ndb_restore
--rebuild-indexes снова, процесс возобновляется в
пункте, где ошибка произошла. Можно также сделать это, когда вы столкнулись с
нерегулярными ошибками. Можно повторить выполнение
ndb_restore
--rebuild-indexes ,
можно остановить такие ошибки, уменьшая значение
--parallelism . Если проблема в недостаточном
пространстве, можно увеличить размер журнала отката (параметр конфигурации
узла
FragmentLogFileSize )
или увеличить скорость, на которой выполняются LCP
(
MaxDiskWriteSpeed и связанные параметры),
чтобы освобождать место быстрее.
--restore-data ,
-r
Свойство | Значение |
Формат командной строки |
--restore-data |
Тип |
Boolean |
Умолчание |
FALSE |
Вывести данные о таблице и журнале
NDB .
--restore-epoch ,
-e
Свойство | Значение |
Формат командной строки |
--restore-epoch |
Добавьте (или восстановите) информацию
об эпохе к таблице состояния репликации кластера.
Это полезно для старта репликации на ведомом NDB Cluster.
Когда этот выбор используется, строка в
mysql.ndb_apply_status с
id = 0
обновляется, если она уже существует, такая строка
вставляется, если она еще не существует. См.
раздел 8.9.
--restore-meta ,
-m
Свойство | Значение |
Формат командной строки |
--restore-meta |
Тип |
Boolean |
Умолчание |
FALSE |
Печатать метаданные таблицы
NDB .
В первый раз, когда вы выполняете
ndb_restore, также
необходимо восстановить метаданные. Другими словами, необходимо воссоздать
таблицы базы данных, это может быть сделано с опцией
--restore-meta (-m ).
Восстановление метаданных должно быть сделано
только на единственном узле данных, этого достаточно, чтобы вернуть
их всему кластеру.
В более старых версиях NDB Cluster таблицы, схемы которых были
восстановлены, используя этот выбор, использовали то же самое количество
разделов, как оригиналы, даже если у этого было отличающееся количество
узлов данных от нового кластера. В NDB 7.5.2 и позже
восстанавливая метаданные, это больше не проблема:
ndb_restore
теперь использует количество разделов по умолчанию для целевого кластера,
если количество местных потоков менеджера данных также не изменяется.
У кластера должна быть пустая база данных, начиная восстанавливать
резервную копию. Другими словами, необходимо начать узлы данных с
data nodes with
--initial .
--restore-privilege-tables
Свойство | Значение |
Формат командной строки |
--restore-privilege-tables |
Тип |
Boolean |
Умолчание |
FALSE (If option is not used) |
ndb_restore
по умолчанию не восстанавливает таблицы привилегий MySQL. Этот выбор
заставляет
ndb_restore
их восстановить.
Это работает, только если таблицы привилегии были преобразованы в
NDB . См.
раздел 7.16
.
--rewrite-database =
olddb,newdb
Свойство | Значение |
Формат командной строки |
--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 ,
никакая проверка не осуществлена для столкновений между таблицей или
другими именами объектов, и порядок
в котором восстановлены строки, не гарантируется. Это означает, что возможно
в таких случаях строк будут переписаны.
--skip-broken-objects
Свойство | Значение |
Формат командной строки |
--skip-broken-objects |
Предписывает
ndb_restore
игнорировать поврежденные таблицы, читая
NDB ,
и продолжать восстанавливать любые остающиеся таблицы (которые не испорчены).
В настоящее время --skip-broken-objects
работает только в случае недостающих частей blob в таблице.
--skip-table-check ,
-s
Свойство | Значение |
Формат командной строки |
--skip-table-check |
Возможно восстановить данные, не восстанавливая метаданные таблицы.
По умолчанию
ndb_restore
терпит неудачу с ошибкой, если несоответствие найдено между данными в
таблице и схемой таблицы, этот выбор отвергает такое поведение.
Некоторые ограничения на несоответствия в определениях столбца,
восстанавливая данные, используя
ndb_restore,
ослаблены: когда с одним из этих типов несоответствий сталкиваются,
ndb_restore
не останавливается с ошибкой, а скорее принимает данные и вставляет их в
целевую таблица, выпуская предупреждение пользователю.
Это поведение происходит независимо от любой из опций
--skip-table-check или
--promote-attributes .
Эти различия в определениях столбца имеют следующие типы:
Разница в COLUMN_FORMAT
(FIXED , DYNAMIC ,
DEFAULT ).
Разница в STORAGE
(MEMORY ,
DISK ).
Различные значения по умолчанию.
Различные параметры настройки ключа распределения.
--skip-unknown-objects
Свойство | Значение |
Формат командной строки |
--skip-unknown-objects |
Предписывает
ndb_restore
игнорировать любые объекты схемы, которые это не признает, читая
NDB .
Это может использоваться для восстановления резервной копии, сделанной из
кластера (например) NDB 7.6 на кластер NDB Cluster 7.5.
--slice-id =
#
Свойство |
Значение |
Формат командной строки |
--slice-id=# |
Добавлено в
| 5.7.29-ndb-7.6.13 |
Тип |
Integer |
Умолчание |
0 |
Минимум |
0 |
Максимум |
1023 |
Восстанавливая частями, это ID части, чтобы восстановить.
Этот выбор всегда используется вместе с
--num-slices
и его значение должно всегда быть меньше, чем
--num-slices .
--tab =dir_name,
-T
dir_name
Свойство | Значение |
Формат командной строки |
--tab=dir_name |
Тип |
Directory name |
Предписывает
--print-data
создать файлы дампа, один на таблицу, каждый названный
tbl_name .txt.
Это требует как аргумент путь к каталогу, где файлы должны быть сохранены,
можно использовать .
для текущего каталога.
--verbose =
#
Свойство | Значение |
Формат командной строки |
--verbose=# |
Тип |
Numeric |
Умолчание |
1 |
Минимум |
0 |
Максимум |
255 |
Устанавливает уровень многословия вывода. Минимум 0, максимум 255.
Значение по умолчанию 1.
Сообщение об ошибке.
ndb_restore
сообщает о нерегулярных и систематических ошибках. В случае нерегулярных
ошибок это может прийти в себя от них и сообщить
Restore successful,
but encountered temporary error, please look at configuration .
При использовании
ndb_restore, чтобы
инициализировать NDB Cluster для использования в кольцевой репликации
автоматически не создается двоичный журнал в системе узла SQL, действующего
как ведомый и необходимо их создать вручную. Выполните
SHOW TABLES на узле SQL перед
START SLAVE .
Это известная проблема в NDB Cluster.
Восстановление резервной копии к предыдущей версии NDB Cluster.
Можно столкнуться с проблемами, восстанавливая резервную копию, взятую от
более поздней версии NDB Cluster к предыдущей, из-за использования
особенностей, которые не существуют в более ранней версии. Например, таблицы,
составленные в NDB 8.0, по умолчанию используют набор символов
utf8mb4_ai_ci , который недоступен в NDB 7.6
и ранее и тне может быть прочитан
ndb_restore.
6.24.1. Восстановление к отличному количеству узлов данных
Возможно восстановить от резервной копии NDB к кластеру,
имеющего различное количество узлов данных, чем оригинал, из которого была
взята резервная копия. Следующие две секции обсуждают случаи, где у целевого
кластера есть меньшее или большее количество узлов данных, чем у
источника резервной копии.
6.24.1.1. Восстановление к меньшему количеству узлов, чем оригинал
Можно вернуть к кластеру, имеющему меньше узлов данных, чем оригинал,
при условии, что большее число узлов ровно кратно меньшему числу.
В следующем примере мы используем резервную копию, взятую с кластера,
имеющго четыре узла данных, к кластеру, имеющему два узла данных.
Сервер управления для оригинального кластера
находится на хосте host10 .
У оригинального кластера есть четыре узла данных с ID узла и именем хоста,
показанные в следующем извлечении из
config.ini сервера управления:
[ndbd]
NodeId =2
HostName =host2
[ndbd]
NodeId=4
HostName=host4
[ndbd]
NodeId=6
HostName=host6
[ndbd]
NodeId=8
HostName=host8
Мы предполагаем, что каждый узел данных был первоначально начат с
ndbmtd
--ndb-connectstring=host10
или эквивалентом.
Выполните резервную копию нормальным способом. Посмотрите
раздел 7.3.2.
Файлы, созданные резервной копией на каждом узле данных,
перечисляются здесь, где N это ID узла, а B это резервный ID.
BACKUP-
B -0.N .Data
BACKUP-B .N.ctl
BACKUP-B
.N.log
Эти файлы найдены в
BackupDataDir /BACKUP/BACKUP-B
на каждом узле данных. Для остальной части этого примера мы
предполагаем, что резервный ID равняется 1.
Имейте в наличии все эти файлы для более позднего копирования к новым
узлам данных (где к ним можно получить доступ в локальной файловой системе
узла данных от
ndb_restore).
Является самым простым скопировать их всех к единственному местоположению,
мы предполагаем, что это сделано.
Сервер управления для целевой группы находится на хосте
host20 и у него есть два узла данных с ID узла и
именем хоста в config.ini
от сервера управления на host20 :
[ndbd]
NodeId=3
hostname=host3
[ndbd]
NodeId=5
hostname=host5
Каждый узел данных на
host3 и host5
стартует с
ndbmtd
-c host20
--initial или эквивалентом, чтобы новая (целевая) группа началась
с достоверных данных файловых систем узла.
Скопируйте два различных набора двух резервных файлов к каждому из
целевых узлов данных. Для этого примера скопируйте резервные файлы с узлов 2
и 4 от оригинальной группы на узел 3 в целевой группе.
Эти файлы перечисляются здесь:
BACKUP-1-0.2.Data
BACKUP-1.2.ctl
BACKUP-1.2.log
BACKUP-1-0.6.Data
BACKUP-1.6.ctl
BACKUP-1.6.log
Скопируйте резервные файлы с узлов 6 и 8 к узлу 5,
эти файлы показывают в следующем списке:
BACKUP-1-0.4.Data
BACKUP-1.4.ctl
BACKUP-1.4.log
BACKUP-1-0.8.Data
BACKUP-1.8.ctl
BACKUP-1.8.log
Для примера мы предполагаем, что соответствующие резервные файлы были
сохранены в каталоге /BACKUP-1
на каждом из узлов 3 и 5.
На каждом из двух целевых узлов данных необходимо восстановить от
обоих наборов резервных копий. Во-первых, восстановите резервные копии от
узлов 2 и 4 к узлу 3, вызвав
ndb_restore на
host3 :
shell> ndb_restore -c host20 --nodeid=2 --backupid=1 --restore-data \
--backup-path=/BACKUP-1
shell> ndb_restore -c host20 --nodeid=4 --backupid=1 --restore-data \
--backup-path=/BACKUP-1
Теперь восстановите резервные копии от узлов 6 и 8 к узлу 5, вызвав
ndb_restore на
host5 :
shell> ndb_restore -c host20 --nodeid=6 --backupid=1 --restore-data \
--backup-path=/BACKUP-1
shell> ndb_restore -c host20 --nodeid=8 --backupid=1 --restore-data \
--backup-path=/BACKUP-1
6.24.1.2. Восстановление к большему количеству узлов, чем у оригинала
ID узла, указанный в
ndb_restore,
это ID узла в оригинальной резервной копии, а не ID узла данных,
куда надо вернуть данные.
Выполняя резервную копию, используя метод, описанный в этой секции
ndb_restore
соединяется с сервером управления и получает список узлов данных в группе,
которой вернулась резервная копия. Восстановленные данные распределяются
соответственно, так, чтобы количество узлов в целевой группе должно быть
известным или вычисленным, выполняя резервную копию.
Когда изменено общее количество потоков LCP или LQH на
группу узла, необходимо воссоздать схему из резервной копии, созданной,
используя mysqldump.
Создайте резервную копию данных
. Можно сделать это, вызвав
ndb_mgm START BACKUP
из системной оболочки:
shell> ndb_mgm -e "START BACKUP 1"
Это предполагает, что желаемый резервный ID 1.
Создайте резервную копию схемы. В NDB 7.5.2 и позже этот шаг
необходим, только если общее количество потоков LCP или LQH
на группу узлов изменяется.
shell> mysqldump --no-data --routines --events --triggers \
--databases > myschema.sql
После создания резервной копии, используя
ndb_mgm,
вы не должны вносить изменения схемы прежде, чем создать
резервную копию схемы.
Скопируйте резервный каталог к новому кластеру.
Например, если у резервной копии, которую вы хотите восстановить, есть ID 1 и
BackupDataDir =
/backups/node_nodeid ,
тогда путь к резервной копии на этом узле
/backups/node_1/BACKUP/BACKUP-1 .
В этом каталоге есть три файла, перечисленные здесь:
BACKUP-1-0.1.Data
BACKUP-1.1.ctl
BACKUP-1.1.log
Необходимо скопировать весь каталог к новому узлу.
Если необходимо было создать файл схемы, надо скопировать его к месту на
узле SQL, где это может быть прочитано
mysqld.
Нет никакого требования для резервной копии, которая будет восстановлена
от определенного узла или узлов.
Чтобы восстановить из резервной копии, выполните следующие шаги:
Восстановите схему.
Если вы создали отдельный резервный файл схемы, используя
mysqldump,
импортируйте этот файл, используя клиент
mysql:
shell> mysql < myschema.sql
Импортируя файл схемы, вы, возможно, должны определить
--user и
--password , чтобы быть в
состоянии соединиться с сервером MySQL.
Если вы не
должны были создавать файл схемы, можно воссоздать схему, используя
ndb_restore
--restore-meta
(краткая форма -m ):
shell> ndb_restore --nodeid=1 --backupid=1 --restore-meta \
--backup-path=/backups/node_1/BACKUP/BACKUP-1
ndb_restore
должна быть в состоянии связаться с сервером управления, добавьте
--ndb-connectstring .
Восстановите данные.
Это должно быть сделано однажды для каждого узла данных в оригинальном
кластере, каждый раз используя ID узла данных. Предполагая, что было 4 узла
данных первоначально, набор требуемых команд будет выглядеть примерно так:
ndb_restore --nodeid=1 --backupid=1 --restore-data \
--backup-path=/backups/node_1/BACKUP/BACKUP-1 --disable-indexes
ndb_restore --nodeid=2 --backupid=1 --restore-data \
--backup-path=/backups/node_2/BACKUP/BACKUP-1 --disable-indexes
ndb_restore --nodeid=3 --backupid=1 --restore-data \
--backup-path=/backups/node_3/BACKUP/BACKUP-1 --disable-indexes
ndb_restore --nodeid=4 --backupid=1 --restore-data \
--backup-path=/backups/node_4/BACKUP/BACKUP-1 --disable-indexes
Ими можно управлять параллельно.
Обязательно добавьте опцию
--ndb-connectstring .
Восстановите индексы.
Они были отключены
--disable-indexes в командах выше.
Воссоздание индексов избегает ошибок из-за того, что восстановление
непоследовательно во всех пунктах. Восстановление индексов может также
улучшить работу в некоторых случаях. Чтобы восстановить индексы, выполните
следующую команду однажды на единственном узле:
shell> ndb_restore --nodeid=1 --backupid=1 \
--backup-path=/backups/node_1/BACKUP/BACKUP-1 \
--rebuild-indexes
Как упомянуто ранее, вы, возможно, должны добавить
--ndb-connectstring , чтобы
ndb_restore
мог связаться с сервером управления.
6.25. ndb_select_all
печатает строки таблицы NDB
ndb_select_all
печатает все строки из таблицы
NDB в
stdout .
Применение
ndb_select_all -c connection_string tbl_name -d db_name [> file_name]
Таблица 6.20. Параметры командной строки для ndb_select_all
Формат | Описание |
Добавлено, устарело или удалено |
--database=dbname ,
-d
|
Название базы данных, в которой найдена таблица |
Все выпуски на основе MySQL 5.7 |
--parallelism=#
,
-p
|
Степень параллелизма |
Все выпуски на основе MySQL 5.7 |
--lock=# ,
-l
|
Тип блокировки |
Все выпуски на основе MySQL 5.7 |
--order=index ,
-o
|
Набор результатов сортировать согласно индексу,
имя которого поставляется |
Все выпуски на основе MySQL 5.7 |
--descending ,
-z
|
Набор результатов сортировать в порядке убывания
(требует флага сортировки) |
Все выпуски на основе MySQL 5.7 |
--header ,
-h
|
Печатать заголовок (установите в 0|FALSE, чтобы
отключить заголовки в выводе) |
Все выпуски на основе MySQL 5.7 |
--useHexFormat ,
-x
|
Числа выводить в шестнадцатеричном формате |
Все выпуски на основе MySQL 5.7 |
--delimiter=char ,
-D
|
Установите разделитель колонки |
Все выпуски на основе MySQL 5.7 |
--disk
|
Дисковые ссылки (полезно только для таблиц Disk
Data с неиндексированными столбцами) |
Все выпуски на основе MySQL 5.7 |
--rowid
|
Печать rowid |
Все выпуски на основе MySQL 5.7 |
--gci
|
Включить в вывод GCI |
Все выпуски на основе MySQL 5.7 |
--gci64
|
Включить в вывод GCI и эпоху строки |
Все выпуски на основе MySQL 5.7 |
--tupscan ,
-t
|
Просмотр в порядке tup |
Все выпуски на основе MySQL 5.7 |
--nodata
|
Не печатайте данные о столбце таблицы |
Все выпуски на основе MySQL 5.7 |
--database=
dbname ,
-d
dbname
Название базы данных, в которой найдена таблица. Значение по умолчанию
TEST_DB .
parallelism=#
, -p
#
Определяет степень параллелизма.
--lock=
lock_type ,
-l lock_type
Использует блокировку, читая таблица. Возможные значения
для lock_type:
0 : Read lock
1 : Read lock with hold
2 : Exclusive read lock
Нет никакого значения по умолчанию для этого выбора.
--order=
index_name ,
-o index_name
Упорядочивает вывод согласно названному индексу index_name.
Это название индекса, не колонки, индекс должен быть, явно
назван, когда создан.
--descending , -z
Сортирует вывод в порядке убывания. Этот выбор может использоваться
только вместе с -o
(
--order ).
--header=FALSE
Исключает заголовки столбцов из вывода.
--useHexFormat -x
Выводит все числовые значения, которые будут показаны в шестнадцатеричном
формате. Это не затрагивает вывод цифр, содержавшихся в значениях даты и
времени или последовательностях.
--delimiter=
character ,
-D character
Использовать character в качестве разделителя колонки.
Только столбцы данных таблицы отделены этим разделителем.
Разделитель по умолчанию: символ табуляции.
--disk
Добавляет дисковый ссылки колонок к выводу. Колонка непуста только для
таблиц Disk Data с неиндексированными столбцами.
--rowid
Добавляет колонку ROWID , предоставляющую
информацию о фрагментах, в которых сохранены строки.
--gci
Добавляет колонку GCI к выводу,
показывая глобальную контрольную точку, в которой каждая строка обновилась.
См. главу 3 и
раздел 7.6.2.
--gci64
Добавляет колонку ROW$GCI64
к выводу, показывая глобальную контрольную точку, в которой каждая строка
обновилась, а также номер эпохи, в которую произошло это обновление.
--tupscan , -t
Просмотрите таблицу в порядке кортежей.
--nodata
Пропустить любые данные о таблице.
Образец вывода
Вывод MySQL SELECT :
mysql> SELECT * FROM ctest1.fish;
+----+-----------+
| id | name |
+----+-----------+
| 3 | shark |
| 6 | puffer |
| 2 | tuna |
| 4 | manta ray |
| 5 | grouper |
| 1 | guppy |
+----+-----------+
6 rows in set (0.04 sec)
Вывод от эквивалентного вызова
ndb_select_all:
shell> ./ndb_select_all -c localhost fish -d ctest1
idname
3 [shark]
6 [puffer]
2 [tuna]
4 [manta ray]
5 [grouper]
1 [guppy]
6 rows returned
NDBT_ProgramExit: 0 - OK
Все значения последовательности окружены квадратными скобками
([ ...] )
в выводе
ndb_select_all.
Для другого примера считайте таблицу созданной как показано здесь:
CREATE TABLE dogs (id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(25) NOT NULL, breed VARCHAR(50) NOT NULL,
PRIMARY KEY pk (id), KEY ix (name))
TABLESPACE ts STORAGE DISK ENGINE=NDBCLUSTER;
INSERT INTO dogs VALUES
('', 'Lassie', 'collie'),
('', 'Scooby-Doo', 'Great Dane'),
('', 'Rin-Tin-Tin', 'Alsatian'),
('', 'Rosscoe', 'Mutt');
Это демонстрирует использование нескольких дополнительных опций
ndb_select_all:
shell> ./ndb_select_all -d ctest1 dogs -o ix -z --gci --disk
GCI id namebreedDISK_REF
8344612 [Scooby-Doo] [Great Dane] [m_file_no: 0 m_page: 98 m_page_idx: 0]
8348784 [Rosscoe] [Mutt] [m_file_no: 0 m_page: 98 m_page_idx: 16]
8344633 [Rin-Tin-Tin] [Alsatian] [m_file_no: 0 m_page: 34 m_page_idx: 0]
8356571 [Lassie] [Collie] [m_file_no: 0 m_page: 66 m_page_idx: 0]
4 rows returned
NDBT_ProgramExit: 0 - OK
6.26. ndb_select_count
печатает счетчики строк для таблиц NDB
ndb_select_count
печатает число строк в таблицах
NDB .
С единственной таблицей результат эквивалентен полученному при помощи
SELECT COUNT(*) FROM tbl_name .
Применение
ndb_select_count [-c connection_string] -ddb_name tbl_name[,
tbl_name2[, ...]]
Таблица 6.21. Параметры командной строки для
ndb_select_count
Формат | Описание |
Добавлено, устарело или удалено |
--database=dbname ,
-d
|
Название базы данных, в которой таблица |
Все выпуски на основе MySQL 5.7 |
--parallelism=# ,
-p
|
Степень параллелизма/td>
| Все выпуски на основе MySQL 5.7 |
--lock=# ,
-l
|
Тип блокировки |
Все выпуски на основе MySQL 5.7 |
Можно получить количество строк из нескольких таблиц в той же самой
базе данных, перечислив имена таблиц, отделенные пробелами,
вызывая эту команду.
Образец вывода
shell> ./ndb_select_count -c localhost -d ctest1 fish dogs
6 records in table fish
4 records in table dogs
NDBT_ProgramExit: 0 - OK
6.27. ndb_setup.py
запускает Auto-Installer NDB Cluster
ndb_setup.py
запускает NDB Cluster Auto-Installer
и открывает начальную страницу установщика в веб-браузере по умолчанию.
Эта программа предназначается, чтобы быть вызванной как обычный
пользователь, а не с правами mysql , системного
root или другого администратора.
Эта секция описывает использование и возможности программы только
для инструмента командной строки. Для получения информации об использовании
Auto-Installer GUI, который порожден при вызове
ndb_setup.py, см.
раздел 4.1.
Применение
Все платформы:
ndb_setup.py [options]
Кроме того, только на платформах Windows:
setup.bat [options]
Таблица 6.22. Параметры командной строки для ndb_setup.py
Формат | Описание |
Добавлено, устарело или удалено |
--browser-start-page=filename ,
-s
|
Страница, которую веб-браузер открывает. |
Все выпуски на основе MySQL 5.7 |
--ca-certs-file=filename ,
-a
|
Файл, содержащий список сертификатов
клиента, чтобы соединяться с сервером |
Все выпуски на основе MySQL 5.7 |
--cert-file=filename ,
-c
|
Файл, содержащий сертификат X509, который определяет сервер.
Умолчание: cfg.pem) |
Все выпуски на основе MySQL 5.7 |
--debug-level=level
,
-d
|
Уровень отладки модуля. Один из DEBUG, INFO, WARNING (умолчание),
ERROR или CRITICAL. |
Все выпуски на основе MySQL 5.7 |
--help ,
-h
|
Вывлж краткой справки |
Все выпуски на основе MySQL 5.7 |
--key-file=file
,
-k
|
Определите файл, содержащий закрытый ключ (если не включен
--cert-file) |
Все выпуски на основе MySQL 5.7 |
--no-browser
,
-n
|
Не открывать начальную страницу в браузере,
просто запустить инструмент |
Все выпуски на основе MySQL 5.7 |
--port=# ,
-p
|
Определите порт, используемый веб-сервером |
Все выпуски на основе MySQL 5.7 |
--server-log-file=file ,
o
|
Вывод журнала к этому файлу. Используйте '-', чтобы вызвать регистрацию в
stderr вместо этого. |
Все выпуски на основе MySQL 5.7 |
--server-name=name ,
-N
|
Название сервера, с которым соединиться |
Все выпуски на основе MySQL 5.7 |
--use-http ,
-H
|
Используйте незашифрованную связь клиент-сервер (HTTP) |
NDB 7.6 и позже |
--use-https
,
-S
|
Используйте зашифрованную связь клиент-сервер (HTTPS) |
Все выпуски на основе MySQL 5.7 |
--browser-start-page=
file , -s
Свойство | Значение |
Формат командной строки |
--browser-start-page=filename |
Тип |
String |
Умолчание |
index.htm |
Определите файл, чтобы открыть в браузере как начальная страница
конфигурации. Умолчание index.htm .
--ca-certs-file=
file , -a
Свойство | Значение |
Формат командной строки |
--ca-certs-file=filename |
Тип |
Имя файла |
Умолчание |
[none] |
Определите файл, содержащий список сертификатов клиента, которым позволяют
соединиться с сервером. Умолчание: пустая строка, что означает, что никакая
аутентификация клиента не используется.
--cert-file=file
, -c
Свойство | Значение |
Формат командной строки |
--cert-file=filename |
Тип |
Имя файла |
Умолчание |
/usr/share/mysql/mcc/cfg.pem |
Определите файл, содержащий сертификат X.509, который определяет сервер.
Для сертификата возможно быть самоподписанным.
Умолчание: cfg.pem .
--debug-level=level ,
-d
Свойство | Значение |
Формат командной строки |
--debug-level=level |
Тип |
Enumeration |
Умолчание |
WARNING |
Допустимые значения
| WARNING
DEBUG
INFO
ERROR
CRITICAL
|
Установите уровень отладки модуля. Это одно из
DEBUG , INFO ,
WARNING , ERROR
или CRITICAL . По умолчанию
WARNING .
--help , -h
Свойство | Значение |
Формат командной строки |
--help |
Вывод краткой справки.
--key-file=file ,
-d
Свойство | Значение |
Формат командной строки |
--key-file=file |
Тип |
Имя файла |
Умолчание |
[none] |
Определите файл, содержащий закрытый ключ, если это не включено в файл
сертификата X. 509 (
--cert-file ). Умолчание: пустая строка, что
означает, что никакой такой файл не используется.
--no-browser , -n
Свойство | Значение |
Формат командной строки |
--no-browser |
Начните программу установки и инструмент конфигурирования, но не
открывайте начальную страницу в браузере.
--port=#
, -p
Свойство | Значение |
Формат командной строки |
--port=# |
Тип |
Numeric |
Умолчание |
8081 |
Минимум |
1 |
Максимум |
65535 |
Установите порт, используемый веб-сервером. Умолчание 8081.
--server-log-file=
file , -o
Свойство | Значение |
Формат командной строки |
--server-log-file=file |
Тип |
Имя файла |
Умолчание |
ndb_setup.log |
Допустимые значения
| ndb_setup.log
- (вывод в stderr)
|
Вывод журнала к этому файлу. Умолчание
ndb_setup.log . Чтобы определить вывод в
stderr вместо файла, используйте
- (тире) для имени файла.
--server-name=host ,
-N
Свойство | Значение |
Формат командной строки |
--server-name=name |
Тип |
String |
Умолчание |
localhost |
Определите имя хоста или IP-адрес для браузера, чтобы
использовать, соединяясь. Умолчание
localhost .
--use-http , -H
Свойство | Значение |
Формат командной строки |
--use-http |
Заставьте браузер использовать HTTP, чтобы соединиться с сервером.
Это означает, что связь не зашифрована.
Добавлено в NDB 7.6.
--use-https , -S
Свойство | Значение |
Формат командной строки |
--use-https |
Заставьте браузер использовать безопасную
связь (HTTPS) с сервером.
6.28. ndb_show_tables
показывает список таблиц NDB
ndb_show_tables
показывает список таблиц
NDB в кластере.
По умолчанию это включает не только созданные пользователями таблицы и
системные таблицы NDB ,
но и NDB -индексы,
внутренние триггеры и объекты NDB Cluster Disk Data.
Таблица 6.23. Параметры командной строки для ndb_show_tables
Формат | Описание |
Добавлено, устарело или удалено |
--database=string
,
-d
|
Определяет базу данных, в которой таблица |
Все выпуски на основе MySQL 5.7 |
--loops=# ,
-l
|
Сколько раз повторить вывод |
Все выпуски на основе MySQL 5.7 |
--parsable
,
-p
|
Возвратить вывод, подходящий для MySQL LOAD DATA INFILE |
Все выпуски на основе MySQL 5.7 |
--show-temp-status
|
Покажите временный флаг таблицы |
Все выпуски на основе MySQL 5.7 |
--type=# ,
-t
|
Лимит вывода объектов этого типа |
Все выпуски на основе MySQL 5.7 |
--unqualified ,
-u
|
Не квалифицируйте имена таблиц |
Все выпуски на основе MySQL 5.7 |
Применение
ndb_show_tables [-c connection_string]
--database , -d
Определяет название базы данных, в которой
таблицы. Если этот выбор не был определен, и никакие таблицы не найдены в
БД TEST_DB ,
ndb_show_tables
вернет предупреждение.
--loops , -l
Сколько раз выполнить. Это равняется 1, когда этот выбор не определяется,
но если вы действительно используете выбор, необходимо поставлять
целочисленный аргумент для него.
--parsable , -p
Этот выбор заставляет вывод быть в формате, подходящем для использования с
LOAD DATA .
--show-temp-status
Если определено, это заставляет временные
таблицы быть показанными.
--type , -t
Может использоваться, чтобы ограничить вывод одним типом объекта,
определенного кодом целого типа, как показано здесь:
Любое другое значение вызывает все объекты базы данных
NDB ,
которые будут перечислены (это умолчание).
--unqualified , -u
Если определено, это заставляет неквалифицированные имена
объектов быть показанными.
Только к созданным пользователями таблицам NDB Cluster
можно получить доступ из MySQL, системные таблицы, например,
SYSTAB_0 , невидимы для
mysqld.
Однако, можно исследовать содержание системных таблиц через
NDB API, например,
ndb_select_all (см.
раздел 6.25).
6.29. ndb_size.pl
оценщик требований места NDBCLUSTER
Это скрипт на Perl, который может использоваться, чтобы оценить сумму
места, которое требовалось бы базой данных MySQL, если бы это было
преобразовано в механизм хранения
NDBCLUSTER .
В отличие от других утилит, обсужденных в этой секции, это не требует
доступа к NDB Cluster. Однако это действительно должно получить доступ к
серверу MySQL, на котором находится проверяемая база данных.
Требования
Рабочий сервер MySQL.
Экземпляр сервера не должен оказывать поддержку NDB Cluster.
Рабочая установка Perl.
Модуль DBI ,
который может быть получен из CPAN, если это еще
не часть вашей установки Perl. Многие Linux и другие операционные системы
предоставляют их собственные пакеты этой библиотеки.
Учетная запись пользователя MySQL, имеющая необходимые привилегии.
Если вы не хотите использовать существующую учетку, создайте ее через
GRANT USAGE ON db_name .*, где
db_name это название базы данных, которая будет исследована.
ndb_size.pl есть в исходных текстах MySQL
в storage/ndb/tools .
Таблица 6.24. Параметры командной строки для ndb_size.pl
Формат | Описание |
Добавлено, устарело или удалено |
--database=dbname
|
База данных или базы данных, чтобы исследовать,
принимает разграниченный запятой список,
умолчание: ALL (используйте все базы данных, найденные на сервере) |
Все выпуски на основе MySQL 5.7 |
--hostname[:port]
|
Определите хост и дополнительный порт как host[:port] |
Все выпуски на основе MySQL 5.7 |
--socket=file_name
|
Определите сокет, чтобы соединиться |
Все выпуски на основе MySQL 5.7 |
--user=string
|
Определите имя пользователя MySQL |
Все выпуски на основе MySQL 5.7 |
--password=string
|
Определите пароль пользователя MySQL |
Все выпуски на основе MySQL 5.7 |
--format=string
|
Установите выходной формат (текст или HTML) |
Все выпуски на основе MySQL 5.7 |
--excludetables=tbl_list
|
Пропустите любые таблицы в списке разделенных запятой значений таблиц |
Все выпуски на основе MySQL 5.7 |
--excludedbs=db_list
|
Пропустите любые базы данных в списке разделенных запятой
значений баз данных |
Все выпуски на основе MySQL 5.7 |
--savequeries=file
|
Сохраняет все запросы к базе данных в определенный файл |
Все выпуски на основе MySQL 5.7 |
--loadqueries=file
|
Загружает все запросы из файла,
не соединяется с базой данных |
Все выпуски на основе MySQL 5.7 |
--real_table_name=table
|
Определяет таблицу для вычисления размера уникального индекса |
Все выпуски на основе MySQL 5.7 |
Применение
perl ndb_size.pl [--database={db_name|ALL}] \
[--hostname=host[:port]] [--socket=socket] \
[--user=user] [--password=password] \
[--help|-h] [--format={html|text}] \
[--loadqueries=file_name] \
[--savequeries=file_name]
По умолчанию эта утилита пытается проанализировать все базы данных на
сервере. Можно определить одну базу данных, используя опцию
--database ,
поведение по умолчанию может быть сделано явным при помощи
ALL для названия базы данных. Можно также
исключить одну или более баз данных при помощи опции
--excludedbs
со списком разделенных запятой значений названий баз данных, которые будут
пропущены. Точно так же можно заставить определенные таблицы быть
пропущенными, перечислив их имена, отделенные запятыми, после опции
--excludetables .
Имя хоста может быть определено, используя
--hostname , умолчание
localhost .
Можно определить порт в дополнение к хосту, используя формат
host:port для значения
--hostname . Номер порта по умолчанию 3306.
Если необходимо, можно также определить сокет, умолчание
/var/lib/mysql.sock .
Имя пользователя и пароль MySQL может быть определено, указав соответствующие
опции. Также возможно управлять форматом вывода, используя опцию
--format , это может взять любое из значений
html или text ,
по умолчанию text .
Пример текстового вывода:
shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock
ndb_size.pl report for database: 'test' (1 tables)
--------------------------------------------------
Connected to: DBI:mysql:host=localhost;mysql_socket=/tmp/mysql.sock
Including information for versions: 4.1, 5.0, 5.1
test.t1
-------
DataMemory for Columns (* means varsized DataMemory):
Column NameTypeVarsized Key 4.15.0 5.1
HIDDEN_NDB_PKEYbigint PRI 88 8
c2 varchar(50) Y 52 524*
c1 int(11) 44 4
-- ----
Fixed Size Columns DM/Row 64 6412
Varsize Columns DM/Row 00 4
DataMemory for Indexes:
Index Name Type 4.15.05.1
PRIMARYBTREE 16 16 16
-- -- --
Total Index DM/Row 16 16 16
IndexMemory for Indexes:
Index Name 4.15.05.1
PRIMARY 33 16 16
-- -- --
Indexes IM/Row 33 16 16
Summary (for THIS table):
4.15.05.1
Fixed Overhead DM/Row 12 12 16
NULL Bytes/Row 444
DataMemory/Row 96 96 48
(Includes overhead, bitmap and indexes)
Varsize Overhead DM/Row 008
Varsize NULL Bytes/Row 004
Avg Varside DM/Row 00 16
No. Rows 000
Rows/32kb DM Page 340340680
Fixedsize DataMemory (KB) 000
Rows/32kb Varsize DM Page 00 2040
Varsize DataMemory (KB) 000
Rows/8kb IM Page 248512512
IndexMemory (KB) 000
Parameter Minimum Requirements
------------------------------
* indicates greater than default
Parameter Default 4.1 5.0 5.1
DataMemory (KB) 819200 0 0
NoOfOrderedIndexes 1281 1 1
NoOfTables 1281 1 1
IndexMemory (KB) 184320 0 0
NoOfUniqueHashIndexes 640 0 0
NoOfAttributes 10003 3 3
NoOfTriggers 7685 5 5
Для отладки Perl запросы, которыми управляет этот скрипт, могут быть
прочитаны из файла или сохранены в файл, для этого есть опции
--loadqueries и
--savequeries соответственно.
Ни у одной из этих опций нет значения по умолчанию.
Чтобы произвести вывод в формате HTML, используйте опцию
--format
и перенаправление вывода к файлу, как показано здесь:
shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock \
--format=html > ndb_size.html
Без переназначения вывод посылают в
stdout .
Вывод из этого скрипта включает следующую информацию:
Минимальные значения для
DataMemory ,
IndexMemory ,
MaxNoOfTables ,
MaxNoOfAttributes ,
MaxNoOfOrderedIndexes и
MaxNoOfTriggers , требуемые, чтобы
приспосабливать проанализированные таблицы.
Требования к памяти для всех таблиц, признаков, упорядоченных индексов
и уникальных индексов, определенных в базе данных.
IndexMemory и
DataMemory ,
требуемые на таблицу и строку таблицы.
6.30. ndb_top
информация об использовании CPU для потоков NDB
ndb_top
показывает в терминале информацию об использовании CPU потоками NDB
на узле данных NDB Cluster. Каждый поток представляется двумя строками в
вывода, первая показывает системную статистику, вторая показывает
измеренную статистику для потока.
ndb_top
доступна с MySQL NDB Cluster 7.6.3.
Применение
ndb_top [-h hostname] [-t port] [-u user] [-p pass] [-n node_id]
ndb_top соединяется с
MySQL Server на узле SQL кластера. По умолчанию это пытается соединиться с
mysqld на
localhost , порт 3306 от имени пользователя MySQL
root без пароля.
Можно отвергнуть хост по умолчанию и порт, соответственно, опциями
--host (-h ) и
--port (-t ).
Чтобы определить пользователя MySQL и пароль, используйте опции
--user (-u ) и
--passwd (-p ).
Этот пользователь должен быть в состоянии прочитать таблицы в БД
ndbinfo
(
ndb_top
использует информацию от
ndbinfo.cpustat и связанные таблицы).
Для получения дополнительной информации об учетных записях пользователей
MySQL и паролях посмотрите
Access Control and Account Management.
Вывод доступен как простой текст или граф ASCII, можно определить это
использованием опций
--text (-x ) и
--graph (-g ), соответственно.
Эти два режима отображения предоставляют ту же самую информацию,
они могут использоваться одновременно. По крайней мере один режим
отображения должен использоваться.
Цветной графа поддержан и позволен по умолчанию
(опция
--color или -c ).
С цветной поддержкой граф отображает пользовательское время OS синим,
системное время OS в зеленое, время простоя как пустое.
Для измеренной нагрузки синий используется в течение времени выполнения,
желтый для времени передачи, красный для времени ожидания наполнения буфера
передачи и пустота для времени простоя. Процент, показанный в графе, является
суммой процентов для всех потоков, которые не простаивают.
Цвета в настоящее время не конфигурируемы, можно использовать шкалу полутонов
вместо этого при помощи опции --skip-color .
Сортированное представление (
--sort ,
-r ) основано на максимуме измеренной
нагрузки и нагрузки, о которой сообщает OS. Показ их может быть позволен и
отключен использованием опций
--measured-load (-m ) и
--os-load (-o ).
Показ по крайней мере одной из этих нагрузок должен быть позволен.
Программа пытается получить статистику из узла данных, имеющего
ID узла, заданный опцией
--node-id (-n ),
если не указан, это равняется 1.
ndb_top
не может предоставить информацию о других типах узлов.
Представление приспосабливается к высоте и ширине окна терминала,
минимальная поддержанная ширина 76 знаков.
ndb_top
работает непрерывно, пока не завершено явно.
Можно остановить использование программы с помощью
Ctrl-C .
Показ обновляется однажды в секунду, чтобы установить иной интервал задержки,
надо использовать опцию
--sleep-time (-s ).
ndb_top доступен на
macOS, Linux и Solaris. Это в настоящее время не поддерживается
на платформах Windows.
Следующая таблица включает все опции, которые являются определенными
для программы NDB Cluster program
ndb_top.
Таблица 6.25. Параметры командной строки для ndb_top
Формат | Описание |
Добавлено, устарело или удалено |
--color
,
-c
|
Покажите графы ASCII в цвете, используйте
--skip-colors, чтобы отключить |
Добавлено в NDB 7.6.3 |
--graph ,
-g
|
Показать данные, используя графы, используйте
--skip-graphs, чтобы отключить |
Добавлено в NDB 7.6.3 |
--help ,
-?
|
Показать краткую справку |
Добавлено в NDB 7.6.3 |
--host[=name] ,
-h
|
Имя хоста или IP-адрес MySQL Server |
Добавлено в NDB 7.6.3 |
--measured-load ,
-m
|
Покажите измеренную нагрузку потока |
Добавлено в NDB 7.6.3 |
--node-id[=#] ,
-n
|
Наблюдайте узел, имеющий этот ID узла |
Добавлено в NDB 7.6.3 |
--os-load ,
-o
|
Покажите нагрузку, измеренную операционной системой |
Добавлено в NDB 7.6.3 |
--passwd[=password]
,
-p
|
Соединитесь с использованием этого пароля |
Добавлено в NDB 7.6.3
Удалено в NDB 7.6.4 |
--port[=#] ,
-t
(<=7.6.5),
-P
(>=7.6.6)
|
Номер порта, чтобы использовать, соединяясь с MySQL Server |
Добавлено в NDB 7.6.3 |
--sleep-time[=seconds] ,
-s
|
Время, чтобы ждать между обновлениями показа в секундах |
Добавлено в NDB 7.6.3 |
--socket ,
-S
|
Файл сокета, чтобы использовать для связи. |
Добавлено в NDB 7.6.6 |
--sort ,
-r
|
Сортировать потоки по использованию, выключается --skip-sort |
Добавлено в NDB 7.6.3 |
--text
,
-x (<=7.6.5),
-t
(>=7.6.6)
|
Показать данные, используя текст |
Добавлено в NDB 7.6.3 |
--user[=name] ,
-u
|
Соединитесь как этот пользователь MySQL |
Добавлено в NDB 7.6.3 |
В NDB 7.6.6 и позже
ndb_top также понимает
общие опции программы NDB
--defaults-file ,
--defaults-extra-file ,
--print-defaults ,
--no-defaults и
--defaults-group-suffix (Bug
#86614, Bug #26236298).
Дополнительные параметры
--color , -c
Свойство |
Значение |
Формат командной строки |
--color |
Добавлено в
| 5.7.19-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
TRUE |
Покажите графы ASCII в цвете, для выключения надо использовать
--skip-colors .
--graph , -g
Свойство | Значение |
Формат командной строки |
--graph |
Добавлено в
| 5.7.19-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
TRUE |
Показать данные, используя графы, надо использовать
--skip-graphs для выключения. Этот выбор или
--text должен быть включен, оба варианта
могут быть включены.
--help , -?
Свойство | Значение |
Формат командной строки |
--help |
Добавлено в |
5.7.19-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
TRUE |
Покажите информацию об использовании программы.
--host[ =
name] , -h
Свойство | Значение |
Формат командной строки |
--host[=name] |
Добавлено в |
5.7.19-ndb-7.6.3 |
Тип |
String |
Умолчание |
localhost |
Имя хоста или IP-адрес MySQL Server.
--measured-load ,
-m
Свойство | Значение |
Формат командной строки |
--measured-load |
Добавлено в |
5.7.19-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
FALSE |
Покажите измеренную нагрузку по потокам. Этот выбор или
--os-load должен быть включен.
--node-id[ =#],
-n
Свойство | Значение |
Формат командной строки |
--node-id[=#] |
Добавлено в |
5.7.19-ndb-7.6.3 |
Тип |
Integer |
Умолчание |
1 |
Наблюдайте узел данных, имеющий этот ID узла.
--os-load , -o
Свойство | Значение |
Формат командной строки |
--os-load |
Добавлено в
|
5.7.19-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
TRUE |
Покажите нагрузку, измеренную операционной системой. Этот выбор или
--measured-load должен быть включен.
--passwd[ =password],
-p
Свойство | Значение |
Формат командной строки |
--passwd[=password] |
Добавлено в |
5.7.19-ndb-7.6.3 |
Removed |
5.7.20-ndb-7.6.4 |
Тип |
Boolean |
Умолчание |
NULL |
Соединитесь с использованием этого пароля.
Этот выбор устарел в NDB 7.6.4 и удален в NDB 7.6.6,
где это заменяется
--password (Bug #26907833).
--password[ =password],
-p
Свойство | Значение |
Формат командной строки |
--password[=password] |
Добавлено в |
5.7.22-ndb-7.6.6 |
Тип |
Boolean |
Умолчание |
NULL |
Соединитесь с использованием этого пароля.
Добавлено в NDB 7.6.6 как замена
--passwd (Bug #26907833).
--port[ =#] ,
-t (NDB 7.6.6 и позже:
-P )
Свойство | Значение |
Формат командной строки |
--port[=#] |
Добавлено в |
5.7.19-ndb-7.6.3 |
Тип |
Integer |
Умолчание |
3306 |
Номер порта, чтобы использовать, соединяясь с MySQL Server.
С NDB 7.6.6 краткая форма для этого выбора
-P , -t
используется как краткая форма для
--text (Bug #26907833).
--sleep-time[ =
seconds], -s
Свойство | Значение |
Формат командной строки |
--sleep-time[=seconds] |
Добавлено в
| 5.7.19-ndb-7.6.3 |
Тип |
Integer |
Умолчание |
1 |
Время, чтобы ждать между обновлениями в секундах.
--socket=
path/to/file , -S
Свойство | Значение |
Формат командной строки |
--socket |
Добавлено в |
5.7.22-ndb-7.6.6 |
Тип |
Path name |
Умолчание |
[none] |
Используйте указанный файл сокета для связи.
Добавлено в NDB 7.6.6 (Bug #86614, Bug #26236298).
--sort , -r
Свойство | Значение |
Формат командной строки |
--sort |
Добавлено в
| 5.7.19-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
TRUE |
Сортировать потоки по использованию, используйте
--skip-sort для выключения.
--text , -x
(NDB 7.6.6 и позже: -t )
Свойство | Значение |
Формат командной строки |
--text |
Добавлено в
| 5.7.19-ndb-7.6.3 |
Тип |
Boolean |
Умолчание |
FALSE |
Показать данные, используя текст. Этот выбор или
--graph должен быть включен.
С NDB 7.6.6 краткая форма для этого выбора
-t и поддержка
-x удалена (Bug #26907833).
--user[ =name],
-u
Свойство | Значение |
Формат командной строки |
--user[=name] |
Добавлено в |
5.7.19-ndb-7.6.3 |
Тип |
String |
Умолчание |
root |
Соединитесь как этот пользователь MySQL.
Пример вывода. Следующие данные показывают
ndb_top в
окне терминала на системе Linux с узлом данных
ndbmtd
под умеренной нагрузкой. Здесь программа была вызвана, используя
ndb_top
-n8
-x , чтобы предоставить текстовый вывод и граф:
Рис. 6.1. ndb_top в терминале
6.31. ndb_waiter
ждать NDB Cluster, чтобы достигнуть данного статуса
ndb_waiter регулярно
(каждые 100 миллисекунд) распечатывает статус всех узлов данных
пока группа не достигает данного статуса или лимит
--timeout не кончится.
По умолчанию это ждет, чтобы кластер достиг статуса
STARTED ,
в котором все узлы начались и соединились с кластером.
Это может быть отвергнуто, используя опции
--no-contact и
--not-started .
Состояния узла, о которых сообщает эта утилита, следующие:
NO_CONTACT :
С узлом нельзя связаться.
UNKNOWN :
С узлом можно связаться, но его статус еще не известен. Обычно, это означает,
что узел получил команду
START
или RESTART
от сервера управления, но еще не отработал ее.
NOT_STARTED :
Узел остановился, но остается в контакте с группой. Это замечено,
перезапуская узел, используя команду
RESTART .
STARTING : Процесс
ndbd узла стартовал,
но узел еще не присоединился к кластеру.
STARTED :
Узел готов к эксплуатации и присоединился к группе.
SHUTTING_DOWN :
Узел закрывается.
SINGLE USER MODE :
Это показывают для всех узлов данных, когда кластер
находится в однопользовательском режиме.
Таблица 6.26. Параметры командной строки для ndb_waiter
Формат |
Описание | Добавлено, устарело или удалено |
--no-contact
,
-n
|
Ждите достижения статуса NO CONTACT |
Все выпуски на основе MySQL 5.7 |
--not-started
|
Ждите достижения статуса NOT STARTED |
Все выпуски на основе MySQL 5.7 |
--single-user
|
Ждите, чтобы войти в однопользовательский режим |
Все выпуски на основе MySQL 5.7 |
--timeout=# ,
-t
|
Ждите это число секунд, затем завершите работу безотносительно того,
достиг ли кластер требуемого состояния,
умолчание составляет 2 минуты (120 секунд) |
Все выпуски на основе MySQL 5.7 |
--nowait-nodes=list
|
Список узлов, для которых не надо ждать |
Все выпуски на основе MySQL 5.7 |
--wait-nodes=list
,
-w
|
Список узлов, для которых надо ждать |
Все выпуски на основе MySQL 5.7 |
Применение
ndb_waiter [-c connection_string]
Дополнительные параметры
--no-contact , -n
Вместо того, чтобы ждать статуса STARTED ,
ndb_waiter
продолжает работать пока группа не достигает статуса
NO_CONTACT .
--not-started
Вместо того, чтобы ждать статуса STARTED ,
ndb_waiter
продолжает работать пока группа не достигает статуса
NOT_STARTED .
--timeout=
seconds ,
-t seconds
Время, чтобы ждать. Программа выходит, если требуемое состояние не
достигается за это число секунд. Умолчание составляет
120 секунд (1200 циклов сообщения).
--single-user
Программа ждет, чтобы войти в однопользовательский режим.
--nowait-nodes=list
ndb_waiter не ждет узлов, ID которых перечисляются. Список разграничен
запятой, диапазоны могут быть обозначены тире, как показано здесь:
shell> ndb_waiter --nowait-nodes=1,3,7-9
НЕ
используйте этот выбор вместе с
--wait-nodes .
--wait-nodes=list ,
-w list
Когда этот выбор используется,
ndb_waiter
ждет только узлы, ID которых перечисляются. Список разграничен запятой,
диапазоны могут быть обозначены тире, как показано здесь:
shell> ndb_waiter --wait-nodes=2,4-6,10
НЕ используйте этот выбор вместе с
--nowait-nodes .
Пример вывода. Здесь показан вывод
ndb_waiter,
когда работает с кластером с 4 узлами, в котором два узла были закрыты и
затем начаты снова вручную. Дублированные отчеты (обозначены
... ) пропущены.
shell> ./ndb_waiter -c localhost
Connecting to mgmsrv at (localhost)
State node 1 STARTED
State node 2 NO_CONTACT
State node 3 STARTED
State node 4 NO_CONTACT
Waiting for cluster enter state STARTED
...
State node 1 STARTED
State node 2 UNKNOWN
State node 3 STARTED
State node 4 NO_CONTACT
Waiting for cluster enter state STARTED
...
State node 1 STARTED
State node 2 STARTING
State node 3 STARTED
State node 4 NO_CONTACT
Waiting for cluster enter state STARTED
...
State node 1 STARTED
State node 2 STARTING
State node 3 STARTED
State node 4 UNKNOWN
Waiting for cluster enter state STARTED
...
State node 1 STARTED
State node 2 STARTING
State node 3 STARTED
State node 4 STARTING
Waiting for cluster enter state STARTED
...
State node 1 STARTED
State node 2 STARTED
State node 3 STARTED
State node 4 STARTING
Waiting for cluster enter state STARTED
...
State node 1 STARTED
State node 2 STARTED
State node 3 STARTED
State node 4 STARTED
Waiting for cluster enter state STARTED
NDBT_ProgramExit: 0 - OK
Если никакая строка подключения не определяется, то
ndb_waiter
пытается соединиться с управлением на
localhost и сообщает
Connecting to mgmsrv at (null) .
6.32. Опции, характерные для программ NDB Cluster
Все программы NDB Cluster принимают опции, описанные в этой секции
за следующими исключениями:
Пользователи прежних версий NDB Cluster должны отметить, что некоторые из
этих опций были изменены, чтобы сделать их последовательными друг с другом, а
также с mysqld.
Можно использовать --help с любой программой
NDB Cluster за исключением
ndb_print_backup_file,
ndb_print_schema_file и
ndb_print_sys_file,
чтобы просмотреть список опций, которые поддерживает программа.
Опции в следующей таблице характерны для всех исполняемых файлов NDB
Cluster (кроме отмеченных ранее в этой секции).
Таблица 6.27. Параметры командной строки, характерные для всех программ
MySQL NDB Cluster
Формат | Описание |
Добавлено, устарело или удалено |
--character-sets-dir=dir_name
|
Каталог, где наборы символов устанавливаются |
Все выпуски на основе MySQL 5.7 |
--connect-retries=#
|
Сколько раз повторять связь перед отказом |
Все выпуски на основе MySQL 5.7 |
--connect-retry-delay=#
|
Сколько ждать между попытками связаться с
сервером управления в секундах |
Все выпуски на основе MySQL 5.7 |
--core-file
|
Писать ядро при ошибках (умолчание TRUE в отладочных сборках) |
Все выпуски на основе MySQL 5.7 |
--debug=options
|
Позвольте вывод от вызовов отладки. Может использоваться только для
версий, собранных с отладкой |
Все выпуски на основе MySQL 5.7 |
--defaults-extra-file=filename
|
Прочитайте этот файл после того, как глобальные файлы
выбора будут прочитаны |
Все выпуски на основе MySQL 5.7 |
--defaults-file=filename
|
Прочитайте опции по умолчанию из этого файла |
Все выпуски на основе MySQL 5.7 |
--defaults-group-suffix
|
Также прочитайте группы с именами, заканчивающимися на этот суффикс |
Все выпуски на основе MySQL 5.7 |
--help ,
--usage ,
-?
|
Отобразить краткую справку |
Все выпуски на основе MySQL 5.7 |
--login-path=path
|
Прочитайте этот путь из файла входа в систему |
Все выпуски на основе MySQL 5.7 |
--ndb-connectstring=connectstring ,
--connect-string=connectstring ,
-c
|
Строка подключения для соединения с ndb_mgmd. Синтаксис:
[nodeid=<id>;][host=]<hostname>[:<port>].
Отвергает записи, определенные в NDB_CONNECTSTRING или my.cnf. |
Все выпуски на основе MySQL 5.7 |
--ndb-mgmd-host=host[:port]
|
Установите хост (и порт при желании) для
соединения с сервером управления |
Все выпуски на основе MySQL 5.7 |
--ndb-nodeid=#
|
Id для этого узла |
Все выпуски на основе MySQL 5.7 |
--ndb-optimized-node-selection
|
Выберите узлы для транзакций более оптимальным способом |
Все выпуски на основе MySQL 5.7 |
--no-defaults
|
Не читайте опции по умолчанию ни от какого файла выбора кроме
файла входа в систему |
Все выпуски на основе MySQL 5.7 |
--print-defaults
|
Напечатайте список аргумента программы |
Все выпуски на основе MySQL 5.7 |
--version ,
-V
|
Информация о версии программы |
Все выпуски на основе MySQL 5.7 |
Для опций, определенных для отдельных программ NDB Cluster, см.
главу 6.
См.
раздел 5.3.9.1 для опций
mysqld,
касающихся NDB Cluster.
--character-sets-dir=name
Свойство | Значение |
Формат командной строки |
--character-sets-dir=dir_name |
Тип |
Directory name |
Умолчание |
|
Говорит программе, где найти информацию о наборе символов.
Этот выбор поддерживается
ndb_import в
NDB 7.6.7 и позже.
--connect-retries=
#
Свойство | Значение |
Формат командной строки |
--connect-retries=# |
Тип |
Numeric |
Умолчание |
12 |
Минимум |
0 |
Максимум |
4294967295 |
Этот выбор определяет, сколько раз после первой попытки повторить связь
перед отказом (клиент всегда пробует связь, по крайней мере, однажды).
Отрезок времени, чтобы ждать на попытку установлен, используя
--connect-retry-delay .
Когда используется с
ndb_mgm,
этот выбор имеет 3 как умолчание. Посмотрите
раздел 6.5
.
--connect-retry-delay=
#
Свойство | Значение |
Формат командной строки |
--connect-retry-delay=# |
Тип |
Numeric |
Умолчание |
5 |
Минимум
(>= 5.7.10-ndb-7.5.0) |
1 |
Минимум |
0 |
Максимум |
4294967295 |
Этот выбор определяет отрезок времени, чтобы ждать на
попытку связи перед отказом. Сколько раз попытаться соединиться установлено
--connect-retries .
--core-file
Свойство | Значение |
Формат командной строки |
--core-file |
Тип |
Boolean |
Умолчание |
FALSE |
Напишите файл дампа, если программа падает. Название и местоположение
файла системно-зависимо. Для узлов программ NDB Cluster в Linux
местоположение по умолчанию это рабочий каталог программы для узла данных,
то есть
DataDir узла данных. Для некоторых систем могут быть ограничения.
Например, может быть необходимо выполнить
ulimit -c unlimited
прежде, чем запустить сервер. Консультируйтесь со своей документацией по
системе для получения дальнейшей информации.
Если NDB Cluster собран с опцией --debug
в configure, включена по
умолчанию. Для нормальных сборок --core-file
выключена по умолчанию.
--debug[=options ]
Свойство | Значение |
Формат командной строки |
--debug=options |
Тип |
String |
Умолчание |
d:t:O,/tmp/ndb_restore.trace |
Этот выбор может использоваться только для версий, собранных с отладкой.
Это используется, чтобы позволить вывод от отладки таким же образом, что
касается процесса mysqld
.
--defaults-extra-file =
filename
Свойство | Значение |
Формат командной строки |
--defaults-extra-file=filename |
Тип |
String |
Умолчание |
[none] |
Прочитайте этот файл после того, как глобальные файлы
выбора будут прочитаны.
См. Command-Line Options that Affect Option-File Handling
.
--defaults-file =
filename
Свойство | Значение |
Формат командной строки |
--defaults-file=filename |
Тип |
String |
Умолчание |
[none] |
Прочитайте опции по умолчанию из этого файла.
См. Command-Line Options that Affect Option-File Handling
.
--defaults-group-suffix
Свойство | Значение |
Формат командной строки |
--defaults-group-suffix |
Тип |
String |
Умолчание |
[none] |
Также прочитайте группы с именами, заканчивающимися на этот суффикс.
См. Command-Line Options that Affect Option-File Handling
.
--help , --usage ,
-?
Свойство | Значение |
Формат командной строки |
--help
--usage
|
Печатает короткий список с описаниями доступных опций команды.
--login-path =
path
Свойство | Значение |
Формат командной строки |
--login-path=path |
Тип |
String |
Умолчание |
[none] |
Прочитайте этот путь из файла входа в систему.
См. Command-Line Options that Affect Option-File Handling
.
--ndb-connectstring=
connection_string ,
--connect-string=
connection_string , -c
connection_string
Свойство | Значение |
Формат командной строки |
--ndb-connectstring=connectstring
--connect-string=connectstring
|
Тип |
String |
Умолчание |
localhost:1186 |
Этот выбор берет строку подключения NDB Cluster,
которая определяет сервер управления, с которым соединиться:
shell> ndbd --ndb-connectstring="nodeid=2;host=ndb_mgmd.mysql.com:1186"
См.
раздел 5.3.3.
--ndb-mgmd-host=host[:port]
Свойство | Значение |
Формат командной строки |
--ndb-mgmd-host=host[:port] |
Тип |
String |
Умолчание |
localhost:1186 |
Может использоваться, чтобы установить хост
и номер порта единственного сервера управления для программы.
Если программа требует ID узла или ссылки на многие серверы управления в
информации о связи, используйте опцию
--ndb-connectstring .
--ndb-nodeid=
#
Свойство | Значение |
Формат командной строки |
--ndb-nodeid=# |
Тип |
Numeric |
Умолчание |
0 |
Установить NDB Cluster ID узла.
Диапазон разрешенных значений зависит от типа узла (данные, управление или
API) и версии программного обеспечения NDB Cluster.
См.
раздел 3.7.2.
--no-defaults
Свойство | Значение |
Формат командной строки |
--no-defaults |
Тип |
Boolean |
Умолчание |
TRUE |
Не читайте опции по умолчанию ни от какого файла,
кроме файла входа в систему.
См. Command-Line Options that Affect Option-File Handling
.
--ndb-optimized-node-selection
Свойство | Значение |
Формат командной строки |
--ndb-optimized-node-selection |
Тип |
Boolean |
Умолчание |
TRUE |
Оптимизируйте выбор узлов для транзакций. Включено по умолчанию.
--print-defaults
Свойство | Значение |
Формат командной строки |
--print-defaults |
Тип |
Boolean |
Умолчание |
TRUE |
Напечатайте список аргументов программы.
См. Command-Line Options that Affect Option-File Handling
.
--version , -V
Свойство | Значение |
Формат командной строки |
--version |
Печатает номер версии исполняемого файла NDB Cluster.
Номер версии релевантен, потому что не все версии могут использоваться
вместе, и процесс запуска NDB Cluster проверяет, что версии используемых
файлов могут сосуществовать в той же самой группе. Это также важно, выполняя
онлайн обновление программного обеспечения NDB Cluster.
См.
раздел 7.5.
|
|