Spec-Zone.ru › MySQL 8.4

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. Для получения дополнительной информации см. .

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

  • CONNECT connection-string

    Подключается к серверу управления, указанному в строке подключения. Если клиент уже подключен к этому серверу, клиент повторно подключается.

  • CREATE NODEGROUP nodeid[, nodeid, ...]

    Создает новую группу узлов кластера NDB и вызывает присоединение узлов данных к ней.

    Эта команда используется после добавления новых узлов данных в онлайн-режиме в кластер NDB и вызывает их присоединение к новой группе узлов, что, таким образом, заставляет их полностью участвовать в кластере. Команда принимает в качестве единственного параметра список идентификаторов узлов, разделенных запятыми — это идентификаторы только что добавленных и запущенных узлов, которые должны присоединиться к новой группе узлов. Список не должен содержать дублирующих идентификаторов; наличие дубликатов приводит к ошибке команды. Количество узлов в списке должно совпадать с количеством узлов в каждой группе узлов, которая уже является частью кластера (каждая группа узлов кластера NDB должна иметь одинаковое количество узлов). Другими словами, если кластер NDB состоит из 2 групп узлов, каждая из которых содержит по 2 узла данных, то новая группа узлов также должна содержать 2 узла данных.

    Идентификатор группы узлов новой группы узлов, созданной этой командой, определяется автоматически и всегда является следующим по порядку неиспользуемым идентификатором группы узлов в кластере; его нельзя установить вручную.

    Дополнительную информацию см. в разделе 25.6.7 «Добавление узлов данных кластера NDB онлайн».

  • DROP NODEGROUP nodegroup_id

    Удаляет группу узлов кластера NDB с заданным nodegroup_id.

    Эта команда может быть использована для удаления группы узлов из кластера NDB. DROP NODEGROUP принимает в качестве единственного аргумента идентификатор группы узлов, подлежащей удалению.

    DROP NODEGROUP действует только для удаления узлов данных в затронутой группе узлов из этой группы узлов. Он не останавливает узлы данных, не назначает их другой группе узлов и не удаляет их из конфигурации кластера. Узел данных, не принадлежащий группе узлов, указывается в выводе клиента управления командой SHOW со значением no nodegroup вместо идентификатора группы узлов, как показано здесь (указано жирным шрифтом):

    id=3    @10.100.2.67  (8.4.5-ndb-8.4.5, no nodegroup)
    

    DROP NODEGROUP работает только тогда, когда все узлы данных в подлежащей удалению группе узлов полностью пусты от данных таблицы и определений таблиц. Поскольку в настоящее время нет способа с помощью ndb_mgm или клиента mysql удалить все данные со специфического узла данных или группы узлов, это означает, что команда выполняется только в следующих двух случаях:

    1. После выполнения CREATE NODEGROUP в клиенте ndb_mgm, но до выполнения любых инструкций ALTER TABLE ... REORGANIZE PARTITION в клиенте mysql.

    2. После удаления всех таблиц NDBCLUSTER с помощью DROP TABLE.

      TRUNCATE TABLE не работает для этой цели, поскольку это удаляет только данные таблицы; узлы данных по-прежнему хранят определение таблицы NDBCLUSTER до тех пор, пока не будет выполнена команда DROP TABLE, которая приводит к удалению метаданных таблицы.

    Дополнительную информацию о DROP NODEGROUP см. в разделе 25.6.7 «Добавление узлов данных кластера NDB онлайн».

  • ENTER SINGLE USER MODE node_id

    Переходит в режим работы с одним пользователем, в котором только сервер MySQL, идентифицированный по идентификатору узла node_id, имеет разрешение на доступ к базе данных.

    Клиент ndb_mgm предоставляет четкое подтверждение о том, что эта команда была выполнена и вступила в силу, как показано здесь:

    ndb_mgm> ENTER SINGLE USER MODE 100
    Single user mode entered
    Access is granted for API node 100 only.
    

    Кроме того, узел API или SQL, имеющий эксклюзивный доступ в режиме одного пользователя, указывается в выводе команды SHOW, как показано здесь:

    ndb_mgm> SHOW
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     2 node(s)
    id=5    @127.0.0.1  (mysql-8.4.5 ndb-8.4.5, single user mode, Nodegroup: 0, *)
    id=6    @127.0.0.1  (mysql-8.4.5 ndb-8.4.5, single user mode, Nodegroup: 0)
    
    [ndb_mgmd(MGM)] 1 node(s)
    id=50   @127.0.0.1  (mysql-8.4.5 ndb-8.4.5)
    
    [mysqld(API)]   2 node(s)
    id=100  @127.0.0.1  (mysql-8.4.5 ndb-8.4.5, allowed single user)
    id=101 (not connected, accepting connect from any host)
    
  • EXIT SINGLE USER MODE

    Выходит из режима работы с одним пользователем, позволяя всем узлам SQL (то есть всем работающим процессам mysqld) получить доступ к базе данных.

    Примечание

    Можно использовать EXIT SINGLE USER MODE даже когда не находится в режиме работы с одним пользователем, хотя в этом случае команда не оказывает никакого влияния.

  • HELP

    Отображает информацию обо всех доступных командах.

  • node_id NODELOG DEBUG {ON|OFF}

    Включает или выключает отладку в журнале узла, как если бы затронутый узел данных или узлы были запущены с параметром --verbose. NODELOG DEBUG ON включает отладку; NODELOG DEBUG OFF выключает отладку.

  • PROMPT [prompt]

    Изменяет подсказку, отображаемую клиентом ndb_mgm, на строковый литерал prompt.

    prompt не должно быть заключено в кавычки (если вы не хотите, чтобы подсказка включала кавычки). В отличие от случая с клиентом mysql, специальные последовательности символов и экранирование не распознаются. Если вызов осуществляется без аргумента, команда сбрасывает подсказку до значения по умолчанию (ndb_mgm>).

    Некоторые примеры показаны здесь:

    ndb_mgm> PROMPT mgm#1:
    mgm#1: SHOW
    Cluster Configuration
    ...
    mgm#1: PROMPT mymgm >
    mymgm > PROMPT 'mymgm:'
    'mymgm:' PROMPT  mymgm:
    mymgm: PROMPT
    ndb_mgm> EXIT
    $>
    

    Обратите внимание, что ведущие пробелы и пробелы внутри строки prompt не обрезаются. Конец строки удаляется.

  • QUIT, EXIT

    Прерывает работу клиента управления.

    Эта команда не влияет на подключенные к кластеру узлы.

  • node_id REPORT report-type

    Отображает отчет типа report-type для узла данных, идентифицированного по node_id, или для всех узлов данных с использованием ALL.

    В настоящее время существует три допустимых значения для report-type:

    • BackupStatus предоставляет отчет о состоянии текущей резервной копии кластера

    • MemoryUsage отображает объем используемой памяти данных и памяти индексов каждым узлом данных, как показано в этом примере:

      ndb_mgm> ALL REPORT MEMORY
      
      Node 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_id RESTART [-n] [-i] [-a] [-f]

    Перезапускает узел данных, идентифицированный значением node_id (или все узлы данных).

    Использование параметра -i с RESTART приводит к выполнению первоначального перезапуска узла данных; то есть, файловая система узла удаляется и воссоздаётся. Эффект аналогичен тому, что получается при остановке процесса узла данных и его последующем запуске с помощью команды ndbd --initial из командной строки системы.

    Примечание

    Файлы резервных копий и файлы данных диска не удаляются при использовании этого параметра.

    Использование параметра -n приводит к перезапуску процесса узла данных, но сам узел данных не запускается до вызова соответствующей команды START. Эффект этого параметра аналогичен тому, что получается при остановке узла данных и его последующем запуске с помощью команды ndbd --nostart или ndbd -n из командной строки системы.

    Использование -a приводит к прерыванию всех текущих транзакций, зависящих от этого узла. Проверка состояния GCP при присоединении узла к кластеру не выполняется.

    Обычно RESTART завершается неудачей, если отключение узла приведёт к неполному кластеру. Параметр -f принудительно перезапускает узел без проверки этого условия. Если этот параметр используется, а результатом является неполный кластер, весь кластер перезапускается.

  • SHOW

    Отображает основную информацию о кластере и узлах кластера. Для всех узлов вывод включает идентификатор узла, тип и NDB версию программного обеспечения. Если узел подключён, также отображается его IP-адрес; в противном случае вывод показывает not connected, accepting connect from ip_address, при этом any 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> SHOW
    Connected to Management Server at: localhost:1186 (using cleartext)
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     4 node(s)
    id=5    @198.51.100.10  (mysql-8.4.5 ndb-8.4.5, Nodegroup: 0, *)
    id=6    @198.51.100.20  (mysql-8.4.5 ndb-8.4.5, Nodegroup: 0)
    id=7    @198.51.100.30  (mysql-8.4.5 ndb-8.4.5, Nodegroup: 1)
    id=8    @198.51.100.40  (mysql-8.4.5 ndb-8.4.5, Nodegroup: 1)
    
    [ndb_mgmd(MGM)] 1 node(s)
    id=50   @198.51.100.150  (mysql-8.4.5 ndb-8.4.5)
    
    [mysqld(API)]   2 node(s)
    id=100  @198.51.100.100  (mysql-8.4.5 ndb-8.4.5)
    id=101 (not connected, accepting connect from any host)
    

    Вывод этой команды также указывает, когда кластер находится в режиме single user (см. описание команды ENTER SINGLE USER MODE, а также Раздел 25.6.6, «Режим single user кластера NDB»). Он также указывает, какой API- или SQL-узел имеет эксклюзивный доступ, когда этот режим активен.

  • SHUTDOWN

    Останавливает все узлы данных и узлы управления кластера. Для выхода из клиента управления после этого используйте EXIT или QUIT.

    Эта команда не останавливает подключенные к кластеру SQL-узлы или API-узлы.

  • node_id START

    Включает узел данных, идентифицированный значением node_id (или все узлы данных).

    ALL START работает только с узлами данных и не влияет на узлы управления.

    Важно

    Для включения узла данных с помощью этой команды узел данных должен быть запущен с помощью --nostart или -n.

  • node_id STATUS

    Отображает информацию о состоянии узла данных, идентифицированного значением node_id (или всех узлов данных).

    Возможные значения состояния узла включают UNKNOWN, NO_CONTACT, NOT_STARTED, STARTING, STARTED, SHUTTING_DOWN и RESTARTING.

    Вывод этой команды также указывает, когда кластер находится в режиме single user.

  • node_id STOP [-a] [-f]

    Останавливает узел данных или управления, идентифицированный значением node_id.

    Примечание

    ALL STOP работает только для остановки всех узлов данных и не влияет на узлы управления.

    Узел, на который повлияла эта команда, отключается от кластера, и связанный с ним процесс ndbd или ndb_mgmd завершается.

    Параметр -a вызывает немедленное остановку узла без ожидания завершения каких-либо ожидающих транзакций.

    Обычно STOP завершается неудачей, если результатом будет неполный кластер. Параметр -f принудительно останавливает узел без проверки этого условия. Если этот параметр используется, а результатом является неполный кластер, кластер немедленно останавливается.

    Предупреждение

    Использование параметра -a также отключает проверку безопасности, выполняемую при вызове STOP для обеспечения того, что остановка узла не приведёт к неполному кластеру. Другими словами, необходимо проявлять крайнюю осторожность при использовании параметра -a с командой STOP, поскольку этот параметр позволяет кластеру выполнить принудительную остановку, так как у него больше нет полной копии всех данных, хранящихся в NDB.

  • TLS INFO

    Отображает информацию о TLS кластера, такую как использование TLS текущим соединением, TLS-сертификаты, в настоящее время известные узлу управления, и счётчики узла управления для общего количества подключений, подключений, обновленных до TLS, и неудач авторизации. Пример вывода показан здесь:

    ndb_mgm> TLS INFO
    
    Session 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».

Дополнительные команды. Ряд других команд, доступных в клиенте ndb_mgm, описаны в других разделах, как показано в следующем списке:

  • START BACKUP используется для создания резервной копии в режиме online в клиенте ndb_mgm; команда ABORT BACKUP используется для отмены резервного копирования, уже выполняемого. Для получения дополнительной информации см. Раздел 25.6.8, «Резервное копирование кластера NDB в режиме online».

  • Команда CLUSTERLOG используется для выполнения различных функций ведения журнала. См. Раздел 25.6.3, «Отчёты о событиях, генерируемые в кластере NDB», для получения дополнительной информации и примеров. NODELOG DEBUG активирует или деактивирует вывод отладки в журналы узлов, как описано ранее в этом разделе.

  • Для тестирования и диагностики клиент поддерживает команду DUMP, которая может использоваться для выполнения внутренних команд в кластере. Она никогда не должна использоваться в рабочей среде, если только это не указано службой поддержки MySQL. Для получения дополнительной информации см. Команды DUMP клиента управления кластером NDB.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/mysql-cluster-mgm-client-commands.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API