MySQL Shell 8.4  /  ...  /  监控只读副本

7.11.4 监控只读副本

本节介绍如何监控只读副本、查看拓扑等。

状态

有关 Cluster.status() 方法的详细信息,请参阅第 7.7 节,“监控 InnoDB 集群”

只读副本信息列在每个源的 readReplicas 部分中。在以下示例中,集群主服务器 host1:4100 是三个只读副本 host4:4110host5:4120host6: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。

  • roleREAD_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"
            },