5.6.6update process命令

update process [--remove-angel] --pid=os_pid process_id cluster_name

当进程的状态不再正确反映在命令的输出中时,此命令更新在process_id集群 中具有进程 ID 的 MySQL NDB Cluster 进程的状态。这通常发生在以下情况中: cluster_nameshow status --process

  • 该进程是配置了 的数据节点 StopOnError=true,这样它停止后就不会被 mcmd自动重启。用户可能没有使用start process 命令重新启动进程,而是手动重新启动了进程,这会恢复进程但在不知道恢复的情况下离开mcmd。然后需要anupdate process来恢复mcmd对进程的控制。

  • 该进程是一个已被 mcmd停止的节点,但由于某些原因,其 PID 在操作系统中仍然有效。在某些情况下,进程甚至可能再次运行,而 mcmd不知道或无法控制它。

  • mcmd由于各种原因无法连接到 mysqld节点(例如,该节点的连接已经太多);节点的进程状态变为 failed,而 PID 文件继续存在。

  • 仅适用于 8.0.30 版及更高版本:mysqld节点 start process命令超时时, mcmd 会失去对该节点的控制。修复mysqld节点上的问题后,运行 以通过mcmd 恢复对该节点的控制。 update process

该命令通过再次将进程导入 mcmd的控制来工作。在集群导入期间由mcmd对进程执行的检查 是针对该update process命令执行的。进程在集群 ( process_id) 中的 ID 及其在操作系统中的 PID(用 --pid选项指定)都是必需的。假设集群中某个数据节点的进程ID为mycluster3其在操作系统上的PID为 9846,数据节点可以更新如下:

mcm> update process --pid=9846 3 mycluster;
+------------------------------+
| Command result               |
+------------------------------+
| Process updated successfully |
+------------------------------+
1 row in set (33.07 sec)

对于数据节点或 SQL 节点,该命令仅在每个节点组至少有 1 个副本运行时才有效。

update process支持一个 --remove-angel 选项,在更新数据节点时应该使用该选项:它会杀死数据节点的任何正在运行的天使进程,并在实际更新之前更新其 PID 文件;这些步骤是更新过程所必需的。

笔记

某些选项在用于启动适用的导航台节点时,在更新过程后不会保留:

. 现在同样适用于