25.6.1 Команды в клиенте управления NDB кластером
Помимо файла центральной конфигурации, кластер также можно управлять через командную строку, доступную через клиент управления ndb_mgm. Это основной административный интерфейс для работающего кластера.
Команды для журналов событий приведены в разделе 25.6.3 «Журналы событий, генерируемые в NDB кластере»; команды для создания резервных копий и восстановления из них приведены в разделе 25.6.8 «Онлайн резервное копирование NDB кластера».
Использование ndb_mgm с MySQL Cluster Manager. MySQL Cluster Manager обрабатывает запуск и остановку процессов и отслеживает их состояния внутри, поэтому нет необходимости использовать ndb_mgm для этих задач для NDB кластера, находящегося под управлением MySQL Cluster Manager. Рекомендуется не использовать командную строку ndb_mgm, которая поставляется с дистрибутивом NDB Cluster, для выполнения операций, связанных с запуском или остановкой узлов. К ним относятся, но не ограничиваются, команды START, STOP, RESTART и SHUTDOWN. Дополнительную информацию см. в Командах MySQL Cluster Manager для управления процессами.
Клиент управления имеет следующие базовые команды. В списке ниже node_id обозначает либо идентификатор узла данных, либо ключевое слово ALL, что указывает, что команда должна быть применена ко всем узлам данных кластера.
-
Подключение к серверу управления
Подключается к серверу управления, указанному в строке подключения. Если клиент уже подключен к этому серверу, клиент переподключается.
-
Создаёт новую группу узлов NDB кластера и заставляет узлы данных присоединиться к ней.
Эта команда используется после добавления новых узлов данных в NDB кластер онлайн, и заставляет их присоединиться к новой группе узлов, тем самым, начать полностью участвовать в кластере. Команда принимает в качестве единственного параметра список идентификаторов узлов, разделённых запятыми — это идентификаторы только что добавленных и запущенных узлов, которые должны присоединиться к новой группе узлов. Список не должен содержать дублирующих идентификаторов; наличие дубликатов приводит к ошибке команды. Количество узлов в списке должно быть таким же, как и количество узлов в каждой группе узлов, которая уже является частью кластера (каждая группа узлов NDB кластера должна иметь одинаковое количество узлов). Другими словами, если NDB кластер состоит из 2 групп узлов, каждая из которых имеет 2 узла данных, то новая группа узлов также должна иметь 2 узла данных.
Идентификатор группы узлов новой группы узлов, созданной этой командой, определяется автоматически и всегда является следующим по порядку неиспользованным идентификатором группы узлов в кластере; его нельзя установить вручную.
Для получения дополнительной информации см. Раздел 25.6.7, «Добавление узлов данных NDB кластера онлайн».
-
Удаляет группу узлов NDB кластера с заданным
nodegroup_id.Эта команда может быть использована для удаления группы узлов из NDB кластера.
DROP NODEGROUPпринимает в качестве единственного аргумента идентификатор группы узлов группы узлов, подлежащей удалению.DROP NODEGROUPвыполняет только удаление узлов данных в затронутой группе узлов из этой группы узлов. Она не останавливает узлы данных, не назначает их в другую группу узлов и не удаляет их из конфигурации кластера. Узел данных, не принадлежащий группе узлов, указывается в выводе клиента управленияSHOWкомандой сno nodegroupвместо идентификатора группы узлов, например так (указано жирным шрифтом):id=3 @10.100.2.67 (9.2.0-ndb-9.2.0, no nodegroup)DROP NODEGROUPработает только в том случае, если все узлы данных в подлежащей удалению группе узлов полностью пусты от данных таблиц и определений таблиц. Поскольку в настоящее время нет способа с помощью ndb_mgm или клиента mysql удалить все данные с конкретного узла данных или группы узлов, это означает, что команда выполняется только в двух следующих случаях:После выдачи команды
CREATE NODEGROUPв клиенте ndb_mgm, но до выдачи любыхALTER TABLE ... REORGANIZE PARTITIONв клиенте mysql.-
После удаления всех
NDBCLUSTERтаблиц с помощьюDROP TABLE.TRUNCATE TABLEне работает для этой цели, потому что это удаляет только данные таблицы; узлы данных продолжают хранить определение таблицыNDBCLUSTERдо тех пор, пока не будет выдан операторDROP TABLE, который вызывает удаление метаданных таблицы.
Для получения дополнительной информации о
DROP NODEGROUPсм. Раздел 25.6.7, «Добавление узлов данных NDB кластера онлайн». -
Переход в режим одного пользователя
Переходит в режим одного пользователя, в котором только сервер MySQL, идентифицированный по идентификатору узла
node_id, имеет разрешение на доступ к базе данных.Клиент ndb_mgm предоставляет ясное подтверждение того, что эта команда была выдана и принята, как показано здесь:
ndb_mgm>
ENTER SINGLE USER MODE 100Single user mode entered Access is granted for API node 100 only.Кроме того, узел API или SQL, имеющий эксклюзивный доступ при работе в режиме одного пользователя, указывается в выводе команды
SHOW, например так:ndb_mgm>
SHOWCluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=5 @127.0.0.1 (mysql-9.2.0 ndb-9.2.0, single user mode, Nodegroup: 0, *) id=6 @127.0.0.1 (mysql-9.2.0 ndb-9.2.0, single user mode, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=50 @127.0.0.1 (mysql-9.2.0 ndb-9.2.0) [mysqld(API)] 2 node(s) id=100 @127.0.0.1 (mysql-9.2.0 ndb-9.2.0, allowed single user) id=101 (not connected, accepting connect from any host) -
Выход из режима одного пользователя
Выходит из режима одного пользователя, позволяя всем узлам SQL (то есть всем запущенным процессам mysqld) получить доступ к базе данных.
ПримечаниеМожно использовать
EXIT SINGLE USER MODEдаже при отсутствии режима одного пользователя, хотя в этом случае команда не оказывает никакого влияния. -
Отображает информацию обо всех доступных командах.
-
Включение/отключение отладки в журнале узла
Включает или отключает отладку в журнале узла, как если бы затронутый узел данных или узлы были запущены с опцией
--verbose.NODELOG DEBUG ONвключает отладку;NODELOG DEBUG OFFвыключает отладку. -
Изменяет подсказку, отображаемую клиентом ndb_mgm, на строковый литерал
prompt.promptне следует заключать в кавычки (если вы не хотите, чтобы подсказка включала кавычки). В отличие от клиента mysql, специальные последовательности символов и escapes не распознаются. Если вызывается без аргумента, команда сбрасывает подсказку до значения по умолчанию (ndb_mgm>).Некоторые примеры показаны здесь:
ndb_mgm>
PROMPT mgm#1:mgm#1:SHOWCluster Configuration ... mgm#1:PROMPT mymgm >mymgm >PROMPT 'mymgm:''mymgm:'PROMPT mymgm:mymgm:PROMPTndb_mgm>EXIT$>Обратите внимание, что ведущие пробелы и пробелы внутри строки
promptне обрезаются. Конечные пробелы удаляются. -
Выход из клиента управления, Выход из клиента управления
Завершает работу клиента управления.
Эта команда не влияет на подключённые к кластеру узлы.
-
Отображает отчёт типа
report-typeдля узла данных, идентифицированного поnode_id, или для всех узлов данных с использованиемALL.В настоящее время для
report-typeпринимаются три значения:BackupStatusпредоставляет отчёт о состоянии текущего резервного копирования кластера-
MemoryUsageотображает, сколько памяти данных и памяти индексов используется каждым узлом данных, как показано в этом примере:ndb_mgm>
ALL REPORT MEMORYNode 1: Data usage is 5%(177 32K pages of total 3200) Node 1: Index usage is 0%(108 8K pages of total 12832) Node 2: Data usage is 5%(177 32K pages of total 3200) Node 2: Index usage is 0%(108 8K pages of total 12832)Эта информация также доступна из таблицы
ndbinfo.memoryusage. EventLogсообщает об событиях из буферов журнала событий одного или нескольких узлов данных.
report-typeне чувствительно к регистру и “размыто”; дляMemoryUsageможно использоватьMEMORY(как показано в предыдущем примере),memoryили даже простоMEM(илиmem). Можно сократитьBackupStatusаналогичным образом.
-
node_idRESTART [-n] [-i] [-a] [-f]Перезапускает узел данных, идентифицированный значением
node_id(или все узлы данных).Использование опции
-iс опциейRESTARTзаставляет узел данных выполнить начальный перезапуск; то есть файловая система узла удаляется и воссоздаётся. Эффект такой же, как при остановке процесса узла данных и его последующем запуске с помощью ndbd--initialиз командной строки системы.ПримечаниеФайлы резервных копий и файлы данных диска не удаляются при использовании этой опции.
Использование опции
-nприводит к перезапуску процесса узла данных, но сам узел данных не включается в работу до тех пор, пока не будет выполнена соответствующая командаSTART. Эффект этой опции такой же, как при остановке узла данных и его последующем запуске с помощью ndbd--nostartили ndbd-nиз командной строки системы.Использование
-aприводит к прерыванию всех текущих транзакций, зависящих от этого узла. Проверка GCP не выполняется при повторном подключении узла к кластеру.Обычно
RESTARTзавершается неудачей, если отключение узла приведёт к неполному кластеру. Опция-fвынуждает узел перезапуститься без проверки этого. Если эта опция используется, и результатом является неполный кластер, весь кластер перезапускается. -
Отображает основную информацию о кластере и узлах кластера. Для всех узлов вывод включает идентификатор узла, тип и
NDBверсию программного обеспечения. Если узел подключен, также отображается его IP-адрес; в противном случае вывод показываетnot connected, accepting connect from, при этомip_addressany hostиспользуется для узлов, которые могут подключаться с любого адреса.Кроме того, для узлов данных вывод включает
starting, если узел ещё не запущен, и показывает группу узлов, членом которой является данный узел. Если узел данных работает как мастер-узел, это обозначается звёздочкой (*).Рассмотрим кластер, файл конфигурации которого содержит указанную здесь информацию (возможные дополнительные настройки опушены для ясности):
[ndbd default] DataMemory= 128G NoOfReplicas= 2 [ndb_mgmd] NodeId=50 HostName=198.51.100.150 [ndbd] NodeId=5 HostName=198.51.100.10 DataDir=/var/lib/mysql-cluster [ndbd] NodeId=6 HostName=198.51.100.20 DataDir=/var/lib/mysql-cluster [ndbd] NodeId=7 HostName=198.51.100.30 DataDir=/var/lib/mysql-cluster [ndbd] NodeId=8 HostName=198.51.100.40 DataDir=/var/lib/mysql-cluster [mysqld] NodeId=100 HostName=198.51.100.100 [api] NodeId=101
После запуска этого кластера (включая один SQL-узел)
SHOWотображает следующий вывод:ndb_mgm>
SHOWConnected to Management Server at: localhost:1186 (using cleartext) Cluster Configuration --------------------- [ndbd(NDB)] 4 node(s) id=5 @198.51.100.10 (mysql-9.2.0 ndb-9.2.0, Nodegroup: 0, *) id=6 @198.51.100.20 (mysql-9.2.0 ndb-9.2.0, Nodegroup: 0) id=7 @198.51.100.30 (mysql-9.2.0 ndb-9.2.0, Nodegroup: 1) id=8 @198.51.100.40 (mysql-9.2.0 ndb-9.2.0, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=50 @198.51.100.150 (mysql-9.2.0 ndb-9.2.0) [mysqld(API)] 2 node(s) id=100 @198.51.100.100 (mysql-9.2.0 ndb-9.2.0) id=101 (not connected, accepting connect from any host)Вывод этой команды также указывает, когда кластер находится в режиме одного пользователя (см. описание команды
ENTER SINGLE USER MODE, а также Раздел 25.6.6, «Режим одного пользователя NDB Cluster»). Он также указывает, какой API- или SQL-узел имеет исключительный доступ, когда этот режим активен. -
Останавливает все узлы данных и узлы управления кластера. Для выхода из клиента управления после этого используйте
EXITилиQUIT.Эта команда не останавливает подключенные к кластеру узлы SQL или API.
-
Включает в работу узел данных, идентифицированный значением
node_id(или все узлы данных).ALL STARTработает только с узлами данных и не влияет на узлы управления.ВажноДля включения узла данных с помощью этой команды узел данных должен быть запущен с помощью
--nostartили-n. -
Отображает информацию о состоянии узла данных, идентифицированного значением
node_id(или всех узлов данных).Возможные значения состояния узла включают
UNKNOWN,NO_CONTACT,NOT_STARTED,STARTING,STARTED,SHUTTING_DOWNиRESTARTING.Вывод этой команды также указывает, когда кластер находится в режиме одного пользователя.
-
Останавливает узел данных или управления, идентифицированный значением
node_id.ПримечаниеALL STOPработает только для остановки всех узлов данных и не влияет на узлы управления.Затронутый этой командой узел отключается от кластера, и связанный с ним процесс ndbd или ndb_mgmd завершается.
Опция
-aзаставляет узел остановиться немедленно, не дожидаясь завершения каких-либо ожидающих транзакций.Обычно
STOPзавершается неудачей, если результатом является неполный кластер. Опция-fпринуждает узел к завершению работы без проверки этого. Если эта опция используется, и результатом является неполный кластер, кластер немедленно завершается.ПредупреждениеИспользование опции
-aтакже отключает выполняемую в противном случае проверку безопасности, когда вызываетсяSTOP, чтобы убедиться, что остановка узла не приводит к неполному кластеру. Другими словами, при использовании опции-aс командойSTOPследует проявлять особую осторожность, поскольку эта опция позволяет кластеру произвести принудительное завершение работы, так как у него больше нет полной копии всех данных, хранящихся вNDB. -
Отображает информацию о TLS кластера, такую как использование TLS текущим подключением, сертификаты TLS, которые в настоящее время известны узлу управления, и количество подключений узла управления, подключений, обновленных до TLS, и неудач авторизации. Пример вывода показан здесь:
ndb_mgm>
TLS INFOSession ID: 1 Peer address: 127.0.0.1 Certificate name: NDB Management Node Jun 2023 Certificate serial: B5:23:8F:D1:11:85:E5:93:ED Certificate expires: 23-Nov-2023 Server statistics since restart Total accepted connections: 6 Total connections upgraded to TLS: 2 Current connections: 3 Current connections using TLS: 2 Authorization failures: 0 ndb_mgm>Дополнительную информацию см. в Разделе 25.6.15, «Шифрование TLS для связи NDB Cluster».
Дополнительные команды. Некоторые другие команды, доступные в клиенте ndb_mgm, описаны в другом месте, как показано в следующем списке:
START BACKUPиспользуется для создания онлайн-резервной копии в клиенте ndb_mgm; командаABORT BACKUPиспользуется для отмены резервной копии, которая уже выполняется. Дополнительную информацию см. в Разделе 25.6.8, «Онлайн-резервное копирование NDB Cluster».Команда
CLUSTERLOGиспользуется для выполнения различных функций ведения журнала. Дополнительную информацию и примеры см. в Разделе 25.6.3, «Отчёты о событиях, генерируемые в NDB Cluster».NODELOG DEBUGактивирует или деактивирует вывод отладки в журналах узлов, как описано ранее в этом разделе.Для работы с тестированием и диагностикой клиент поддерживает команду
DUMP, которая может быть использована для выполнения внутренних команд в кластере. Её никогда не следует использовать в рабочей среде, если это не указано в руководстве MySQL Support. Дополнительную информацию см. на странице NDB Cluster Management Client DUMP Commands.
© 2025 Oracle
Licensed under the GPLv2 License.