18.怎样查看MGR复制延迟?
1.查看集群状态信息
MySQL db01:3306 ssl JS > dba.getCluster().status() { "clusterName": "ClusterTest", "defaultReplicaSet": { "name": "default", "primary": "db01:3306", "ssl": "REQUIRED", "status": "OK", "statusText": "Cluster is ONLINE and can tolerate up to ONE failure.", "topology": { "db01:3306": { "address": "db01:3306", "memberRole": "PRIMARY", "mode": "R/W", "readReplicas": {}, "replicationLag": null, ## 这里如果有时间显示,就代表的是延迟时间 "role": "HA", "status": "ONLINE", "version": "8.0.25" }, "db02:3306": { "address": "db02:3306", "memberRole": "SECONDARY", "mode": "R/O", "readReplicas": {}, "replicationLag": null, "role": "HA", "status": "ONLINE", "version": "8.0.25" }, "db03:3306": { "address": "db03:3306", "memberRole": "SECONDARY", "mode": "R/O", "readReplicas": {}, "replicationLag": null, "role": "HA", "status": "ONLINE", "version": "8.0.25" } }, "topologyMode": "Single-Primary" }, "groupInformationSourceMember": "db01:3306" }
2.也可以通过如下命令查看:
root@mysqldb 14:02: [test]> SELECT MEMBER_ID AS id, COUNT_TRANSACTIONS_IN_QUEUE AS trx_tobe_certified, COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE AS relaylog_tobe_applied, COUNT_TRANSACTIONS_CHECKED AS trx_chkd, COUNT_TRANSACTIONS_REMOTE_APPLIED AS trx_done, COUNT_TRANSACTIONS_LOCAL_PROPOSED AS proposed FROM performance_schema.replication_group_member_stats; +--------------------------------------+--------------------+-----------------------+----------+----------+----------+ | id | trx_tobe_certified | relaylog_tobe_applied | trx_chkd | trx_done | proposed | +--------------------------------------+--------------------+-----------------------+----------+----------+----------+ | 02e3192d-2eec-11ee-9dc3-000c2995c6c1 | 0 | 0 | 44 | 4 | 44 | | 307f5f45-3544-11ee-8fa9-000c293f8c20 | 0 | 0 | 3 | 3 | 0 | | bb4a87c4-2f41-11ee-8804-000c292fd49a | 0 | 0 | 9 | 11 | 0 | +--------------------------------------+--------------------+-----------------------+----------+----------+----------+ 3 rows in set (0.00 sec)
这里主要查看的是表performance_schema.replication_group_member_stats相关资源进行查看.
3.也可以通过查看接受到的事务和已执行完的事务之间的差距来判断
root@mysqldb 20:42: [test]> SELECT RECEIVED_TRANSACTION_SET FROM performance_schema.replication_connection_status WHERE channel_name = 'group_replication_applier' UNION ALL SELECT variable_value FROM performance_schema.global_variables WHERE variable_name = 'gtid_executed'; +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | RECEIVED_TRANSACTION_SET | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 02e3192d-2eec-11ee-9dc3-000c2995c6c1:1-3, 62864011-2f71-11ee-b8e3-000c2995c6c1:1-2231:1002226, 71a06ea2-38c6-11ee-a40a-000c2995c6c1:1-50, aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1:1-7 | | 02e3192d-2eec-11ee-9dc3-000c2995c6c1:1-3, 62864011-2f71-11ee-b8e3-000c2995c6c1:1-2231:1002226, 71a06ea2-38c6-11ee-a40a-000c2995c6c1:1-50, aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1:1-7 | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.01 sec)
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
2021-08-12 35.mysql复制(异步、半同步、增强型半同步)详解