4.4.6show status命令

show status --cluster|-c cluster_name
show status --operation|-o cluster_name
show status --backup|-b cluster_name
show status --process|-r cluster_name
show status --progress cluster_name
show status --progressbar cluster_name

此命令用于检查集群状态、集群进程、备份以及在 MySQL 集群管理器客户端中发出的命令。返回的状态类型取决于 --cluster(short form: -c)、 --operation(short form: -o)、 --backup(short form: -b) 或--process(short form -r) 四个选项中的哪一个与命令一起使用。(如果没有使用这些, --cluster则假定为。)这些选项将在接下来的几段中进行更详细的描述。

--cluster选项

使用此选项时,show status报告名为 的集群的状态 cluster_name,如本例所示:

mcm> show status --cluster mycluster;
+-----------+-------------------+---------+
| Cluster   | Status            | Comment |
+-----------+-------------------+---------+
| mycluster | fully operational |         |
+-----------+-------------------+---------+
1 row in set (0.01 sec)

当与 --cluster选项(缩写形式:) 一起使用时-c,此命令的输出由两列组成。该 Cluster列包含集群的名称。该Status列包含集群状态的描述;可能的值及其含义如下表所示:

表 4.1 show status --cluster 显示的状态值

Status价值 意义
fully operational 所有集群进程都在运行。
operational 所有节点组都已启动并正在运行,但至少有一个数据节点进程(ndbdndbmtd)未运行。集群在线,但您应该确定任何丢失的数据节点未运行的原因并尽快更正问题。
non-operational 集群无法运行,因为至少有一个节点组处于脱机状态。您必须调查并修复问题,然后重新启动集群,然后集群才能用于数据存储和检索操作。
stopped 集群未运行,因为它已被用户停止。这通常并不表示有任何问题,但您必须重新启动集群,然后它才能被任何应用程序使用。
created 使用命令创建集群成功 create cluster,但一直没有启动。您必须先使用命令启动集群,start cluster 然后才能使用它。
unknown MySQL Cluster Manager 无法确定集群的状态。这可能表明也可能不表明集群有问题;问题可能出在一个或多个 MySQL Cluster Manager 代理或 MySQL Cluster Manager 客户端上。您应该尝试通过其他方式确定集群的状态,例如在 MySQL Cluster Manager 客户端中使用(在本节后面描述),或使用 ndb_mgm客户端中可用的命令之一(请参阅 ndb_mgm - NDB 集群管理客户端),例如 或 。show status --processSHOWALL STATUS

--operation选项

使用--operation 选项(缩写形式 -o:)时,它会导致SHOW STATUS显示要执行的最新命令的状态。这包括使用 --background选项(简称 -B)发出的命令。此处显示了此命令的示例:

mcm> show status --operation mycluster;
+-----------------+-----------+--------------+
| Command         | Status    | Description  |
+-----------------+-----------+--------------+
| restart cluster | executing | <no message> |
+-----------------+-----------+--------------+
1 row in set (1.60 sec)

输出包含 3 列,如下表所述:

  • Command 最后发出的命令的文本(在命令之前 ),减去任何选项或参数。 show status --operation

  • Status 命令的当前状态。本节后面列出了可能的值及其含义。

  • Description 在某些情况下,根据命令及其状态,此列可能包含其他信息。否则, <no message>显示在这里。

Status下表显示了 该列的可能值以及这些值的说明:

表 4.2 show status --operation 显示的状态值

Status价值 描述
executing MySQL Cluster Manager 正在执行命令,但尚未完成。
finished 命令已成功执行(并完成)。
failed 命令执行失败。该Description列可能包含有关失败原因的信息。
unknown MySQL Cluster Manager 无法确定此命令的状态。

--backup选项

使用此选项时,show status报告名为 的集群的备份过程状态 cluster_name,如以下示例所示:

mcm> show status --backup mycluster;
+-----------------------------------------+
| Command result                          |
+-----------------------------------------+
| No backup currently active in mycluster |
+-----------------------------------------+
1 row in set (0.05 sec)
mcm> show status --backup mycluster;
+-----------------------------------------+
| Command result                          |
+-----------------------------------------+
| BackupId 5 currently active in mycluster|
+-----------------------------------------+
1 row in set (0.09 sec)

--process选项

使用此选项运行时,show status 返回有关名为 的集群中每个进程的信息 cluster_name,如本例所示:

mcm> show status --process mycluster;
+------+----------+----------+---------+-----------+
| Id   | Process  | Host     | Status  | Nodegroup |
+------+----------+----------+---------+-----------+
| 1    | ndb_mgmd | tonfisk  | running |           |
| 2    | ndbd     | flundra  | running | 0         |
| 3    | ndbd     | grindval | running | 0         |
| 4    | mysqld   | lax      | running |           |
+------+----------+----------+---------+-----------+
4 rows in set (1.67 sec)

When the --process option (short form: -r) is used with show status, the output contains 5 columns, described in the following list:

  • Id 这是作为集群中节点的进程的节点 ID cluster_name

  • Process 进程的类型,即对应的 MySQL NDB Cluster 可执行文件的名称。允许的值为 ndb_mgmdndbdndbmtdmysqld

  • Host 运行进程的计算机的主机名或 IP 地址。

  • Status 此过程的状态或条件。此列的可能值将在本节后面给出。

  • Nodegroup 如果Processndbdndbmtd——也就是说,如果进程是一个数据节点进程——那么这一列显示进程所属的节点组的ID。对于 的任何其他值Process,此列为空。

下表显示了该列的可能值Status,以及该值代表什么的描述:

表 4.3 show status --process 显示的状态值

Status价值 意义
running 进程运行正常。
stopped 该进程已被用户停止。
added 该进程已添加到集群,但尚未启动。
connected ndbapi或者mysqld进程连接到集群。
starting 该进程已启动,但尚未完全运行。(对于数据节点,可以通过ndb_mgmstatus客户端 中的命令判断节点当前处于哪个启动阶段。)
stopping 该进程已收到停止命令,现在正在关闭。
failed 该进程已意外关闭(可能已崩溃)。您应该确定此意外关闭的原因、解决问题并尽快重新启动该过程。
import 该进程是为导入而创建的集群的一部分,但尚未从原始集群实际迁移进程和数据。 start process并且 stop process此过程的命令失败,直到发生此迁移。
unknown MySQL Cluster Manager 无法确定此进程的当前状态。您应该尝试使用其他方式确定其状态。

--progress选项

对于 MySQL Cluster Manager 1.4.2 及更高版本:当使用此选项运行时,返回(如果可用) mcmd在名为 的集群 show status上的当前操作的 ,以已完成步骤总数的百分比表示: cluster_name

mcm> show status --progress mycluster;
+-----------------+-----------+----------+
| Command         | Status    | Progress |
+-----------------+-----------+----------+
| restore cluster | executing | 47%      |
+-----------------+-----------+----------+
1 row in set (0.02 sec)

--progressbar选项

对于 MySQL Cluster Manager 1.4.2 及更高版本:该选项提供与选项相同的功能 --progress,但还添加了一个 ASCII-art 进度条:

mcm> show status --progressbar mycluster;
+-----------------+-----------+-----------------------------+
| Command         | Status    | Progress                    |
+-----------------+-----------+-----------------------------+
| restore cluster | executing | 47% [#########           ]  |
+-----------------+-----------+-----------------------------+
1 row in set (0.02 sec)

您必须使用此命令提供现有集群的名称,否则会show status因错误而失败,如下所示:

mcm> show status;
ERROR 6 (00MGR): Illegal number of operands

mcm> show status -c nosuchcluster;
ERROR 5001 (00MGR): Cluster nosuchcluster not defined
重要的

不要将此命令与 MySQL SHOW STATUS语句混淆,后者具有不同的语法并且只能在标准 mysql客户端中使用。MySQL Cluster Manager 客户端命令只接受本节开头显示的选项,不接受LIKEor WHERE子句。