暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL组复制(MGR)全解析 Part 6 监控MySQL组复制

宅必备 2019-07-30
111

 

往期专题请查看www.zhaibibei.cn
这是一个坚持Oracle,Python,MySQL原创内容的公众号

前期回顾

MySQL组复制(MGR)全解析  Part 1 组复制背景

MySQL组复制(MGR)全解析  Part 2 常用复制技术介绍

MySQL组复制(MGR)全解析 Part 3 组复制机制细节

MySQL组复制(MGR)全解析  Part 4 MGR单主模式部署前准备

MySQL组复制(MGR)全解析 Part 5 MGR单主模式部署指南

这期的专题我们来介绍MySQL组复制相关的内容

MGR架构

主机名业务IP私有IP复制用户角色
rac111.12.14.2910.10.10.11rpl
rac211.12.14.3010.10.10.12rpl
rac311.12.14.3910.10.10.13rpl

上节我们说了MGR部署,这节的内容为如何监控MGR的状态

我们可以使用如下数据库表来监控,我们需要Performance Schema是开启的,一般都是开启的

1.组复制通道名称含义

1.1 group_replication_recovery

该通道用于同分布式恢复阶段相关的复制更改(replication changes),一般用于成员新加入时的恢复动作

1.2 group_replication_applier

该通道用于组的传入的变化(incoming changes),该通道用于应用直接从组内传来的事务,即成员间的事务的应用

2.replication_group_member_stats

该表用于展示组内成员的状态信息,它只在组复制运行时才会有结果

注意该表不可以被truncate


  • channel_name 组复制通道的名称

  • view_id  当前该组的view id,该ID会在成员关系发生变化时改变,如退出或者新增

  • member_id 为运行查询的机器的uuid

  • COUNT_TRANSACTIONS_IN_QUEUE 代表因为做冲突检测而需要等待的事务的数量,一旦冲突检测通过,其会进入应用的队列

  • COUNT_TRANSACTIONS_CHECKED 代表做过冲突检测的事务的数量

  • COUNT_CONFLICTS_DETECTED代表未通过冲突检测的事务的数量

  • COUNT_TRANSACTIONS_ROWS_VALIDATING 代表可以被用来做认证但还没有做垃圾收集的事务的数量

  • TRANSACTIONS_COMMITTED_ALL_MEMBERS 代表已经在组内所有成员中成功提交过的事务,以GTID 集合的形式展现,会以固定时间刷新

  • LAST_CONFLICT_FREE_TRANSACTION 最近的被检测冲突空闲事务(conflict free transaction)的事务标识符

3. replication_group_members

该表显示复制组内成员信息的网络和状态信息

注意该表不可以被truncate


  • channel_name 组复制通道的名称

  • member_id 代表组内成员的uuid

  • member_host 代表组内成员的网络地址(主机名或者IP地址),通过数据库hostname变量获得,注意这是共有地址,非私有的

  • MEMBER_PORT 代表数据库的监听端口,通过数据库port变量获得

  • MEMBER_STATE 代表成员当前的状态

他可以有如下状态

  • OFFLINE      组复制插件已经被安装但没有被开启

  • RECOVERING 成员已经被加入组中,正在回复数据库中

  • ONLINE  代表成员已经加入组中并且同步完成,需确保成员处在该状态

  • ERROR 代表成员遇到了错误,譬如无法加入组或者同步异常,请查看error日志排错

  • UNREACHABLE 代表组无法和该成员通信,因为组信息超时

4. replication_connection_status

该表显示当前I/O线程的状态,I/O线程负责处理从库同主库间的连接

注意该表不可以被truncate

下表列出了其和show slave status\G命令的一些比较

MGR中 show slave status\G 无结果


5. replication_applier_status

该表显示当前SQL线程的状态,


下表列出了其和show slave status\G命令的一些比较

MGR中 show slave status\G 无结果

6. 查询哪个是主库

在单主模式下,如果发生切换我们会不知道哪一台是现有的主库,我们可以使用如下命令查看

SHOW STATUS LIKE 'group_replication_primary_member'

复制


7. 参考资料

https://dev.mysql.com/doc/refman/5.7/en/group-replication-monitoring.html


可点击阅读原文获得更好的阅读体验,推荐在PC端阅读

也可在公众站内搜索中回复 MGR  搜索相关内容

或直接打开个人网页搜索


http://www.zhaibibei.cn


往期专题包括:


  • Python 自动化运维

  • MySQL  安装

  • mysqldump命令详解

  • mysqlbinlog命令详解

  • xtrabackup工具详解

  • 打造属于自己的监控系统

  • Python爬虫基础

  • Oracle awr报告全解析

  • Oracle ASM全解析

  • Oracle Data Guard全解析

  • Oracle ClusterWare全解析

  • Oracle常见参数解析

  • Oracle常见故障处理

  • Oracle SQL优化案例


觉得文章不错的欢迎关注,转发,收藏~

文章转载自宅必备,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论