本节介绍如何监控只读副本、查看拓扑等。
有关
方法的详细信息,请参阅第 7.7 节,“监控 InnoDB 集群”。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"
},