21.5.1 NDB 群集 ManagementClient 端中的命令

除了中央配置文件外,还可以通过 ManagementClient 端ndb_mgm可用的命令行界面来控制群集。这是正在运行的群集的主要 Management 界面。

事件日志的命令在第 21.5.3 节“ NDB 群集中生成的事件报告”中给出; 第 21.5.8 节“ NDB 群集的在线备份”中提供了用于创建备份和从备份还原的命令。

在 MySQL Cluster Manager 中使用 ndb_mgm. MySQL Cluster Manager 在内部处理启动和停止过程并跟踪其状态,因此对于在 MySQL Cluster Manager 控制下的 NDB Cluster,这些任务无需使用ndb_mgm。建议不要使用 NDB Cluster 分发版随附的ndb_mgm命令行 Client 端执行涉及启动或停止节点的操作。这些命令包括但不限于STARTSTOPRESTARTSHUTDOWN命令。有关更多信息,请参见MySQL Cluster Manager 进程命令

ManagementClient 端具有以下基本命令。在下面的 Lists 中,* node_id *table 示数据节点 ID 或关键字ALL,这 table 示该命令应应用于集群的所有数据节点。

显示有关所有可用命令的信息。

连接到由连接字符串指示的 Management 服务器。如果 Client 端已经连接到该服务器,则 Client 端将重新连接。

显示有关集群状态的信息。可能的节点状态值包括UNKNOWNNO_CONTACTNOT_STARTEDSTARTINGSTARTEDSHUTTING_DOWNRESTARTING。该命令的输出还指示群集何时处于单用户模式(状态SINGLE USER MODE)。

使* node_id *标识的数据节点(或所有数据节点)联机。

ALL START仅适用于所有数据节点,并且不影响 Management 节点。

Important

要使用此命令使数据节点联机,必须已使用--nostart-n启动了该数据节点。

停止由* node_id *标识的数据或 Management 节点。

Note

ALL STOP仅用于停止所有数据节点,并不影响 Management 节点。

受此命令影响的节点与群集断开连接,并且其关联的ndbdndb_mgmd进程终止。

-a选项使节点立即停止,而无需 await 任何未决事务的完成。

通常,如果结果将导致群集不完整,则STOP将失败。 -f选项强制节点关闭而不进行检查。如果使用此选项,结果是群集不完整,则群集将立即关闭。

Warning

使用-a选项还会禁用安全检查,否则将在调用STOP时执行,以确保停止节点不会导致不完整的群集。换句话说,将-a选项与STOP命令一起使用时,应格外小心,因为该选项使集群有可能被强制关闭,因为它不再具有存储在其中的所有数据的完整副本。 NDB

重新启动由* node_id *标识的数据节点(或所有数据节点)。

-i选项与RESTART一起使用会导致数据节点执行初始重启。即删除并重新创建节点的文件系统。其效果与停止数据节点进程然后从系统 Shell 使用ndbd --initial重新启动它所获得的效果相同。

Note

使用此选项时,不会删除备份文件和磁盘数据文件。

使用-n选项将导致重新启动数据节点进程,但是在发出适当的START命令之前,该数据节点实际上并未联机。此选项的效果与停止数据节点然后从系统 Shell 使用ndbd --nostartndbd -n重新启动它所获得的效果相同。

使用-a会导致依赖该节点的所有当前事务中止。当节点重新加入群集时,不会执行 GCP 检查。

通常,如果使节点脱机会导致群集不完整,则RESTART会失败。 -f选项强制节点重新启动而不进行检查。如果使用此选项,并且结果是不完整的群集,则会重新启动整个群集。

显示由* node_id *标识的数据节点(或所有数据节点)的状态信息。

该命令的输出还指示群集何时处于单用户模式。

为* node_id *标识的数据节点或使用ALL的所有数据节点显示类型为report-type *的报告。

当前,* 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.memoryusagetable 中也提供了此信息。

  • EventLog报告来自一个或多个数据节点的事件日志缓冲区的事件。
  • report-type *不区分大小写且“模糊”;对于MemoryUsage,您可以使用MEMORY(如先前示例所示),memory,甚至可以简单地使用MEM(或mem)。您可以用类似的方式缩写BackupStatus

进入单用户模式,从而仅允许由节点 ID * node_id *标识的 MySQL 服务器访问数据库。

退出单用户模式,使所有 SQL 节点(即所有正在运行的mysqld进程)访问数据库。

Note

即使在非单用户模式下也可以使用EXIT SINGLE USER MODE,尽管该命令在这种情况下无效。

终止 ManagementClient 端。

该命令不会影响连接到集群的任何节点。

关闭所有群集数据节点和 Management 节点。要在完成此操作后退出 ManagementClient 端,请使用EXITQUIT

此命令不会关闭连接到集群的任何 SQL 节点或 API 节点。

创建一个新的 NDB 群集节点组,并使数据节点加入该组。

在在线将新的数据节点添加到 NDB 群集之后,使用此命令,并使它们加入新的节点组,从而开始完全参与群集。该命令以一个逗号分隔的节点 ID 列 table 作为唯一参数,这些列 table 是刚添加和启动的,将要加入新节点组的节点的 ID。节点数必须与已经属于群集的每个节点组中的节点数相同(每个 NDB 群集节点组必须具有相同数目的节点)。换句话说,如果 NDB 群集具有 2 个节点组,每个 2 个数据节点,则新节点组还必须具有 2 个数据节点。

该命令创建的新节点组的节点组 ID 是自动确定的,并且始终是集群中的下一个最高未使用节点组 ID。无法手动设置。

有关更多信息,请参见第 21.5.7 节“在线添加 NDB 群集数据节点”

删除具有给定* nodegroup_id *的 NDB 群集节点组。

此命令可用于从 NDB 群集中删除节点组。 DROP NODEGROUP以要删除的节点组的节点组 ID 为唯一参数。

DROP NODEGROUP仅用于从该节点组中删除受影响的节点组中的数据节点。它不会停止数据节点,也不会将其分配给其他节点组,也不会从群集的配置中删除它们。在 ManagementClient 端SHOW命令的输出中使用no nodegroup代替节点组 ID 来指示不属于节点组的数据节点,如下所示(使用粗体 table 示):

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

DROP NODEGROUP仅在要删除的节点组中的所有数据节点完全没有任何 table 数据和 table 定义时起作用。由于当前无法使用ndb_mgmmysqlClient 端从特定数据节点或节点组中删除所有数据,因此这意味着该命令仅在以下两种情况下成功:

TRUNCATE TABLE不适用于此目的,因为这只会删除 table 数据;数据节点将 continue 存储NDBCLUSTERtable 的定义,直到发出DROP TABLE语句导致删除 table 元数据为止。

有关DROP NODEGROUP的更多信息,请参见第 21.5.7 节“在线添加 NDB 群集数据节点”

ndb_mgm所示的提示更改为字符串 Literals* prompt *。

  • prompt *不应加引号(除非您希望提示中包括引号)。与mysqlClient 端不同,不能识别特殊字符序列和转义符。如果不带参数调用,该命令会将提示重置为默认值(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
jon@valhaj:~/bin>

请注意,不会修剪前导空格和* prompt *字符串内的空格。尾随空格被删除。

PROMPT命令已添加到 NDB 7.5.0 中。

在节点日志中切换调试日志记录,就好像受影响的一个或多个数据节点已使用--verbose选项启动一样。 NODELOG DEBUG ON开始调试日志记录; NODELOG DEBUG OFF关闭调试日志记录。

此命令已添加到 NDB 7.6.4 中。

其他命令. 其他地方介绍了ndb_mgmClient 端中可用的许多其他命令,如以下列 table 所示: