Spec-Zone.ru › MySQL 9.2

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

    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 кластера онлайн».

  • Переход в режим одного пользователя

    Переходит в режим одного пользователя, в котором только сервер 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-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: SHOW
    Cluster Configuration
    ...
    mgm#1: PROMPT mymgm >
    mymgm > PROMPT 'mymgm:'
    'mymgm:' PROMPT  mymgm:
    mymgm: PROMPT
    ndb_mgm> EXIT
    $>
    

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

  • Выход из клиента управления, Выход из клиента управления

    Завершает работу клиента управления.

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

  • Отчёт

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

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

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

  • 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 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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/mysql-cluster-mgm-client-commands.html

Spec-Zone.ru

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