朝花夕拾16章MySQL Shell 8.6 InnoDB ClusterSet状态和拓扑

本节描述以下内容:

  • InnoDB ClusterSet 状态
  • InnoDB ClusterSet 拓扑
  • InnoDB ClusterSet 的 MySQL 路由器状态

InnoDB ClusterSet 状态

AdminAPI 的 *clusterSet*.status() 命令返回一个描述 InnoDB ClusterSet 部署状态的 JSON 对象。输出包括 InnoDB ClusterSet 部署本身的状态以及 ClusterSet 中每个 InnoDB Cluster 的全局和集群状态。扩展输出添加了每个集群中每个成员服务器的状态、有关 InnoDB ClusterSet 管理的异步复制通道的信息以及其他配置和状态信息。该命令报告 ClusterSet 复制以及服务器本身的状态。如果存在任何问题,则会包含警告和错误消息,以更详细地解释问题。

您使用的 MySQL Shell 实例 *clusterSet*.status() 可以连接到 InnoDB ClusterSet 的任何活动成员。可以通过 InnoDB ClusterSet 中活动的任何其他集群从主集群检索元数据。

如果 InnoDB ClusterSet 中的任何集群存在问题,第 8.9 节“InnoDB ClusterSet 修复和重新加入” 解释了修复该问题并将集群重新加入 ClusterSet 的过程(如果问题无法解决,则将其删除)。如果出现问题的集群是主集群,如果它仍在运行,您首先需要执行受控切换(如第 8.7 节“InnoDB ClusterSet 受控切换”中所述),或者如果它不运行或无法运行,则需要执行紧急故障切换无法联系(如 第 8.8 节“InnoDB ClusterSet 紧急故障转移”中所述)。

您可以使用该extended选项(默认为 0)来增加输出的详细级别,如下所示:

  • extended: 0或省略该选项将返回有关 InnoDB ClusterSet 部署的可用性状态、ClusterSet 中的每个 InnoDB Cluster 以及每个副本集群的 ClusterSet 复制状态的基本信息。
  • extended: 1添加 ClusterSet 中每个 InnoDB 集群的拓扑、每个集群中每个成员服务器的状态以及有关每个副本集群的 ClusterSet 复制通道状态的更多详细信息。
  • extended: 2添加有关每个集群中每个成员服务器以及 ClusterSet 复制通道的更多详细信息,包括 GTID 集。
  • extended: 3添加 ClusterSet 复制通道的重要配置设置,例如连接重试设置。

例如:

解释mysql-js> myclusterset.status({extended: 1}) { "clusters": { "clusterone": { "clusterRole": "PRIMARY", "globalStatus": "OK", "primary": "127.0.0.1:3310", "status": "OK", "statusText": "Cluster is ONLINE and can tolerate up to ONE failure.", "topology": { "127.0.0.1:3310": { "address": "127.0.0.1:3310", "memberRole": "PRIMARY", "mode": "R/W", "status": "ONLINE", "version": "8.0.27" }, "127.0.0.1:3320": { "address": "127.0.0.1:3320", "memberRole": "SECONDARY", "mode": "R/O", "replicationLagFromImmediateSource": "", "replicationLagFromOriginalSource": "", "status": "ONLINE", "version": "8.0.27" }, "127.0.0.1:3330": { "address": "127.0.0.1:3330", "memberRole": "SECONDARY", "mode": "R/O", "replicationLagFromImmediateSource": "", "replicationLagFromOriginalSource": "", "status": "ONLINE", "version": "8.0.27" } }, "transactionSet": "953a51d5-2690-11ec-ba07-00059a3c7a00:1,c51c1b15-269e-11ec-b9ba-00059a3c7a00:1-131,c51c29ad-269e-11ec-b9ba-00059a3c7a00:1-8" }, "clustertwo": { "clusterRole": "REPLICA", "clusterSetReplication": { "applierStatus": "APPLIED_ALL", "applierThreadState": "Waiting for an event from Coordinator", "applierWorkerThreads": 4, "receiver": "127.0.0.1:4410", "receiverStatus": "ON", "receiverThreadState": "Waiting for source to send event", "source": "127.0.0.1:3310" }, "clusterSetReplicationStatus": "OK", "globalStatus": "OK", "status": "OK", "statusText": "Cluster is ONLINE and can tolerate up to ONE failure.", "topology": { "127.0.0.1:4410": { "address": "127.0.0.1:4410", "memberRole": "PRIMARY", "mode": "R/O", "replicationLagFromImmediateSource": "", "replicationLagFromOriginalSource": "", "status": "ONLINE", "version": "8.0.27" }, "127.0.0.1:4420": { "address": "127.0.0.1:4420", "memberRole": "SECONDARY", "mode": "R/O", "replicationLagFromImmediateSource": "", "replicationLagFromOriginalSource": "", "status": "ONLINE", "version": "8.0.27" }, "127.0.0.1:4430": { "address": "127.0.0.1:4430", "memberRole": "SECONDARY", "mode": "R/O", "replicationLagFromImmediateSource": "", "replicationLagFromOriginalSource": "", "status": "ONLINE", "version": "8.0.27" } }, "transactionSet": "0f6ff279-2764-11ec-ba06-00059a3c7a00:1-5,953a51d5-2690-11ec-ba07-00059a3c7a00:1,c51c1b15-269e-11ec-b9ba-00059a3c7a00:1-131,c51c29ad-269e-11ec-b9ba-00059a3c7a00:1-8", "transactionSetConsistencyStatus": "OK", "transactionSetErrantGtidSet": "", "transactionSetMissingGtidSet": "" } }, "domainName": "testclusterset", "globalPrimaryInstance": "127.0.0.1:3310", "metadataServer": "127.0.0.1:3310", "primaryCluster": "clusterone", "status": "HEALTHY", "statusText": "All Clusters available." }