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

Глава 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

ndbd, которым управляют, на переднем плане, предусмотрел отладку (подразумевает --nodaemon)
ФорматОписание Добавлено, устарело или удалено

--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

Все выпуски на основе 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:

  1. Так как ndbmtd работает по умолчанию в виде единственного дерева сообщений (то есть, это ведет себя как ndbd), необходимо формировать его, чтобы использовать многократные потоки. Это может быть сделано, установив соответствующее значение в config.ini для MaxNoOfExecutionThreads или ThreadConfig. Использование MaxNoOfExecutionThreads проще, но ThreadConfig имеет больше гибкости. Для получения дополнительной информации об этих параметрах конфигурации и их использовании, посмотрите Multi-Threading Configuration Parameters (ndbmtd).

  2. Файлы трассировки произведены критическими ошибками в 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 не служит никакой цели.

Примеры

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

  2. Произвести строку подключения, которая может использоваться узлами данных, 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
    
  3. Этот вызов 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, чтобы передать список параметров, которые будут получены.

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

  1. В клиенте 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 или другой метод, если вы желаете.

  2. В системной оболочке:

    # 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 должно быть позволено явно, следующим образом:

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

    2. Вызовите 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. Восстановление к меньшему количеству узлов, чем оригинал

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

  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 или эквивалентом.

  2. Выполните резервную копию нормальным способом. Посмотрите раздел 7.3.2.

  3. Файлы, созданные резервной копией на каждом узле данных, перечисляются здесь, где 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). Является самым простым скопировать их всех к единственному местоположению, мы предполагаем, что это сделано.

  4. Сервер управления для целевой группы находится на хосте host20 и у него есть два узла данных с ID узла и именем хоста в config.ini от сервера управления на host20:

    [ndbd]
    NodeId=3
    hostname=host3
    [ndbd]
    NodeId=5
    hostname=host5
    

    Каждый узел данных на host3 и host5 стартует с ndbmtd -c host20 --initial или эквивалентом, чтобы новая (целевая) группа началась с достоверных данных файловых систем узла.

  5. Скопируйте два различных набора двух резервных файлов к каждому из целевых узлов данных. Для этого примера скопируйте резервные файлы с узлов 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.

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

  1. Создайте резервную копию данных . Можно сделать это, вызвав ndb_mgm START BACKUP из системной оболочки:

    shell> ndb_mgm -e "START BACKUP 1"
    

    Это предполагает, что желаемый резервный ID 1.

  2. Создайте резервную копию схемы. В NDB 7.5.2 и позже этот шаг необходим, только если общее количество потоков LCP или LQH на группу узлов изменяется.

    shell> mysqldump --no-data --routines --events --triggers \
                        --databases > myschema.sql
    

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

  3. Скопируйте резервный каталог к новому кластеру. Например, если у резервной копии, которую вы хотите восстановить, есть 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.

Нет никакого требования для резервной копии, которая будет восстановлена от определенного узла или узлов.

Чтобы восстановить из резервной копии, выполните следующие шаги:

  1. Восстановите схему.

    • Если вы создали отдельный резервный файл схемы, используя 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.

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

  3. Восстановите индексы. Они были отключены --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

    Может использоваться, чтобы ограничить вывод одним типом объекта, определенного кодом целого типа, как показано здесь:

    • 1: Системная таблица

    • 2: Созданная пользователями таблица

    • 3: Уникальный индекс хэша

    Любое другое значение вызывает все объекты базы данных 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 в терминале

Display from ndb_top, running in a terminal window.
Shows information for each node, including the utilized resources.

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.

Поиск

 

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

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