本节介绍如何监控读副本、查看拓扑结构等。
有关 Cluster.status()
读副本信息列在每个源的 readReplicas 部分中。在以下示例中,集群主节点 host1:4100 是三个读副本 host4:4110、host5:4120 和 host6:4130 的复制源。
        "topology": {
            "host1:4100": {
                "address": "host1:4100",
                "memberRole": "PRIMARY",
                "mode": "R/W",
                "readReplicas": {
                    "RReplica1": {
                        "address": "host4:4110",
                        "role": "READ_REPLICA",
                        "status": "ONLINE",
                        "version": "8.1.0"
                    },
                    "RReplica2": {
                        "address": "host5:4120",
                        "role": "READ_REPLICA",
                        "status": "ONLINE",
                        "version": "8.1.0"
                    },
                    "RReplica3": {
                        "address": "host6:4130",
                        "role": "READ_REPLICA",
                        "status": "ONLINE",
                        "version": "8.1.0"
                    }
                },
                "replicationLag": "applier_queue_applied",
                "role": "HA",
                "status": "ONLINE",
                "version": "8.1.0"
            },读副本按在将它们添加到集群时定义的标签列出,或者如果未提供标签,则按 host:port 列出。
读副本特定的字段如下所示
- 
对于 Cluster.status()- address:读副本的地址。
- role:READ_REPLICA。
- 
status:包含以下状态之一- ONLINE:复制通道已连接并正在运行。
- CONNECTING:复制通道正在连接。
- OFFLINE:复制通道已正常停止。
- ERROR:由于复制错误导致复制通道停止。
- UNREACHABLE:MySQL Shell 无法连接到读副本。
 
- version:MySQL 服务器版本。
- instanceErrors:如果发生至少一个错误,则列出诊断错误。
 
- 
对于 Cluster.status({extended: 1})- applierStatus:应用器线程状态。
- applierThreadState:应用器线程当前状态。
- applierWorkerThreads:应用器工作线程数量。
- receiverStatus:接收器线程状态。
- receiverThreadState:接收器线程的当前状态。
- replicationLag:复制延迟。
- replicationSources:列出读副本的复制源,按权重排序。或者,如果读副本配置为从主节点复制,则为- PRIMARY,如果读副本配置为从从节点复制,则为- SECONDARY。
- replicationSsl:列出当前 SSL 密码和 SSL 版本(如果已启用)。
 
- 
对于 Cluster.status({extended: 2})- applierQueuedTransactionSet:应用器队列 GTID 集。
- applierQueuedTransactionSetSize:应用器队列大小。
- coordinatorState:协调器状态。
- coordinatorThreadState:协调器线程的当前状态。
- receiverTimeSinceLastMessage:I/O 线程收到上一条消息以来的时间。
- replicationSources:按权重列出读副本的配置复制源的 IP 地址和端口号。
 
- 
对于 Cluster.status({extended: 3})- 
options:以下配置选项的数组- delay:复制延迟。
- heartbeatPeriod:心跳间隔。
- retryCount:重试次数。
- connectRetry:connectRetry
 
 
- 
          Cluster.describe()
- address:读副本的地址。
- label:创建读副本时提供的标签。
- replicationSources:读副本的复制源,PRIMARY 或 SECONDARY。
- role:- READ_REPLICA
         {
                "address": "127.0.0.1:4110",
                "label": "RReplica1",
                "replicationSources": [
                    "PRIMARY"
                ],
                "role": "READ_REPLICA"
            },
            {
                "address": "127.0.0.1:4120",
                "label": "RReplica2",
                "replicationSources": [
                    "PRIMARY"
                ],
                "role": "READ_REPLICA"
            },