我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL监控组复制是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL监控组复制是什么

MySQL监控组复制是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1. 监控组复制

假设MySQL已经在启用了性能模式的情况下编译,使用Perfomance Schema表监控组复制。组复制添加以下表:

  • performance_schema.replication_group_member_stats

  • performance_schema.replication_group_members

这些现有的Perfomance Schema复制表也显示有关组复制的信息:

  • performance_schema.replication_connection_status 显示有关组复制的信息,例如,已从组接收并在应用程序队列中排队的事务(中继日志)。

  • performance_schema.replication_applier_status 显示与组复制相关的通道和线程的状态,如果有许多不同的工作线程应用事务,那么这个表也可用于监视每个工作线程正在执行的操作。

Group Replication插件创建的复制通道命名为:

  • group_replication_recovery - 此通道用于与分布式恢复阶段相关的复制更改。

  • group_replication_applier - 此通道用于来自组的传入更改。并且应用直接来自组的事务的通道。

以下部分描述了每个表中可用的信息。

1.1 组成员实例状态

组中的server实例可以处于多种状态。如果server都正常通信,则所有server都报告相同的状态。但是,如果存在网络分隔,或者组成员离开组,则可能报告不同的信息,这取决于查询了哪个server。要注意的是,如果某个组成员已经离开组,那么显然它不能报告关于其他server状态的最新信息。如果发生网络分隔,如果超出仲裁数量的server都断开了,那么server之间将不能相互协作。因此,他们无法得知不同server成员的状态。因此,他们会报告一些server不可访问,而不是猜测他们的状态。

表1.1 Server State

Field描述组同步
ONLINE该成员可以作为一个具有所有功能的组成员,这意味着客户端可以连接并开始执行事务。Yes
RECOVERING该成员正在成为该组的有效成员,并且正处于恢复过程中,从数据源节点(数据源节点)接收状态信息。No
OFFLINE插件已加载,但成员不属于任何组。No
ERROR本地成员的状态。 只要恢复阶段或应用更改时出现错误,server就会进入此状态。No
UNREACHABLE每当本地故障检测器怀疑某个给定的server可能由于已经崩溃或被意外地断开而不可访问时,server的状态显示为“UNREACHABLE”No

Important

一旦实例进入ERROR状态后,该 super_read_only选项将设置为ON。要离开ERROR 状态,您必须手动配置实例super_read_only=OFF

需要注意的是,组复制不是同步复制,但最终是同步的。更确切地说,事务以相同的顺序传递给所有组成员,但是它们的执行不同步,这意味着在接受事务被提交之后,每个成员以其自己的速度提交。

1.2 replication_group_members表

performance_schema.replication_group_members 表用于监视作为组成员的不同server实例的状态。每当视图更改时,表replication_group_members就会更新,例如,当组的配置动态更改时。在此基础上,server成员之间交换他们的一些元数据以保持同步并继续协作。信息在组复制成员之间共享,因此可以从任何成员查询有关所有组成员的信息。此表可用于获取复制组状态的高级视图,例如通过发出:

SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+--------------+-------------+--------------+-------------+----------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST  | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+---------------------------+--------------------------------------+--------------+-------------+--------------+-------------+----------------+
| group_replication_applier | 041f26d8-f3f3-11e8-adff-080027337932 | example1     |      3306   | ONLINE       | SECONDARY   | 8.0.13         |
| group_replication_applier | f60a3e10-f3f2-11e8-8258-080027337932 | example2     |      3306   | ONLINE       | PRIMARY     | 8.0.13         |
| group_replication_applier | fc890014-f3f2-11e8-a9fd-080027337932 | example3     |      3306   | ONLINE       | SECONDARY   | 8.0.13         |
+---------------------------+--------------------------------------+--------------+-------------+--------------+-------------+----------------+

根据这个结果,我们可以看到该组由三个成员组成,每个成员的主机和端口号,客户端用来连接成员,以及成员的 server_uuid。该MEMBER_STATE列显示了 第18.3.1节“组成员实例状态”之一,在该情况下,它显示该组中的所有三个成员都是 ONLINE,并且该MEMBER_ROLE 列显示有两个从节点和一个主节点。因此,该组必须是以单主模式运行的。MEMBER_VERSION当您升级组并且组合中正在运行不同MySQL版本的成员时,该列可能很有用。请参见 第18.3.1节“组成员实例状态” 获得更多信息。

有关Member_host 值及其对分布式恢复过程的影响的更多信息,请参见 第18.2.1.3节“用户凭据”。

1.3 Replication_group_member_stats

复制组中的每个成员都会验证并应用该组提交的事务。有关验证和应用程序的统计信息对于了解申请队列增长情况、触发了多少冲突、检查了多少事务、哪些事务已被所有成员提交等等非常有用。

performance_schema.replication_group_member_stats 表提供与认证过程相关的组级信息,以及由复制组的每个成员接收和发起的事务的统计信息。信息在组成员实例之间共享,因此可以从任何成员查询有关所有组成员的信息。请注意,刷新远程成员的统计信息由group_replication_flow_control_period 选项中指定的消息周期控制 ,因此这些信息可能与进行查询的成员的本地收集的统计信息略有不同。

表1.2 replication_group_member_stats

Field描述
CHANNEL_NAME组复制通道的名称。
VIEW_ID此组的当前视图标识符。
Member_id此值为我们当前连接到的server成员的UUID。组中的每个成员具有不同的值。因为它对每个成员是唯一的,所以它也成为了一个关键字。
Count_transactions_in_queue队列中等待冲突检测检查的事务数。冲突检查通过后,他们排队等待应用。
Count_transactions_checked表示已进行过冲突检查的事务数。
Count_conflicts_detected表示未通过冲突检测检查的事务数。
Count_transactions_rows_validating表示冲突检测数据库的当前大小(每个事务经过验证的数据库)。
Transactions_committed_all_members表示已在当前视图的所有成员上成功提交的事务。 此值以固定的时间间隔更新。
Last_conflict_free_transaction显示最后一个经检查无冲突的事务标识符。
Count_transactions_remote_in_applier_queue此成员从复制组收到的等待应用的事务数。
Count_transactions_remote_applied此成员从已应用的复制组收到的事务数。
Count_transactions_local_proposed此成员发起并发送到复制组以进行协调的事务数。
Count_transactions_local_rollback此成员发起的事务在发送到复制组后的回滚数。

这些字段对于监控组中的成员的性能很重要。例如,假设组的成员之一出现延迟,并且不能与该组的其他成员同步。在这种情况下,您可能会在队列中看到大量的事务。基于此信息,您可以决定从组中删除成员或延迟组中其他成员的事务处理,从而减少排队的事务的数量。此信息还可以帮助您决定如何调整组复制插件的流控制。

关于MySQL监控组复制是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL监控组复制是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

简述mysql监控组复制

原文:https://dev.mysql.com/doc/refman/8.0/en/group-replication-monitoring.html 译者:kun 最近在翻译MySQL8.0官方文档 本文是第18.3“监控组复制”部分。
2022-05-22

shell监控脚本实例—监控mysql主从复制

本节内容:监控mysql主从复制的shell脚本。 说明:监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试,需要的一些准备工作可以查看这篇文章 代码:#监控mysql 主从复制cat chk_mysql_rep.sh
2022-06-04

mysql组复制的原理是什么

MySQL组复制是一种MySQL数据库服务器集群技术,它允许多个MySQL数据库服务器之间共享相同的数据,并保持数据的一致性。组复制使用基于Paxos算法的一致性协议来确保数据更新的顺序一致性,以及数据在所有服务器上的复制。组复制的原理可以
mysql组复制的原理是什么
2024-03-13

shell如何监控mysql主从复制

这篇文章主要为大家展示了“shell如何监控mysql主从复制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“shell如何监控mysql主从复制”这篇文章吧。说明:监控脚本在 rhel5 下测试
2023-06-09

MongoDB中怎么监控复制延迟

可以通过以下几种方式来监控MongoDB的复制延迟:使用rs.status()命令:在MongoDB的shell中输入rs.status()命令可以查看复制集的状态信息,其中包括每个成员的复制延迟信息。可以通过该命令查看每个成员的optim
MongoDB中怎么监控复制延迟
2024-04-19

SpringBoot服务监控机制的原理是什么

这期内容当中小编将会给大家带来有关SpringBoot服务监控机制的原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。SpringBoot 监控SpringBoot 中的监控可以分为 HTTP 端点
2023-06-14

什么是数据监控

数据监控是指对特定数据进行实时监测、收集和分析的过程。数据监控可以帮助组织和个人了解数据的当前状态、趋势和异常情况,以便及时做出相应的决策和行动。数据监控通常包括以下几个方面:1. 数据收集:通过各种方式和工具收集数据,包括传感器、日志文件
2023-09-20

MySQL数据库的监控方式是什么

这篇文章主要介绍“MySQL数据库的监控方式是什么”,在日常操作中,相信很多人在MySQL数据库的监控方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库的监控方式是什么”的疑惑有所帮助!
2023-04-13

如何使用脚本监控mysql主从复制状态

使用脚本监控 mysql 主从复制状态的方法:准备脚本,包含必要信息和获取主从库信息的命令。运行脚本以获取主库的 io 线程、io 位置和从库的 io 线程、io 位置和 sql 线程、sql 位置。检查复制状态,如果从库 io 线程和 s
如何使用脚本监控mysql主从复制状态
2024-06-15

编程热搜

目录