MySQL~MGR系列(2)

2024-06-03  本文已影响0人  开心的蛋黄派

零、MGR限制

1、隔离级别是RC
2、innodb表,包含主键
3、不能使用大事务,可以通过参数进行限制
4、不支持复制过滤
5、建议局域网配置
5、节点配置须知
1、开启binlog/relay-log
2、开启并行复制
3、开启GTID
4、注意加入白名单

一、版本切换

  1. 版本优先级
    1、同版本->同版本 使用udf函数即可
    2、高版本->低版本 使用udf函数即可
    3、高版本(不能切换
    1、设置新版本目标主权重级别
    2、设置原主read_only super_read_only=1 然后stop group_replaction
  2. 权重排序
    如果版本相同,选择权重,如果权重再相同,比较memeber_i

. 一旦集群故障的节点超过阈值,整个集群就会被挂起,成为只读状态。

二、集群节点状态

三、大事务对MGR的影响

  1. 生成阶段:大事务在主节点执行时间长,影响行数多,生成大量writeset和binlog,占用服务器资源。
  2. 传输阶段:影响节点间网络传输性能,可能造成网络抖动和节点脱离风险。
  3. 事务冲突验证阶段:消耗节点大量资源。
  4. 事务应用阶段:消耗资源并可能造成后续事务无法应用,导致延时和集群性能下降。

四、节点加入失败情况

  1. 新节点本身已有事务,与接收到的发生冲突。
  2. 新节点网段不在ip白名单(allowlist)内。
  3. 新节点需要的全量日志在主库已被删除。
  4. 原主切换后重新加入集群。
    5、 配置错误。 **
    6、
    版本不兼容。**

五、MGR监控要点

确实,对于MGR(MySQL Group Replication)的监控,除了概述的监控要点外,了解具体的监控语句也是非常重要的。以下是一些建议的具体监控语句,这些语句可以帮助你更好地了解集群的状态和性能:

1. 服务进程监控

-- 检查MySQL服务状态(这通常需要在操作系统层面进行,例如使用systemctl或service命令)

对于服务进程的监控,通常不是通过SQL语句来完成的,而是依赖于操作系统的服务管理工具。

2. 只读状态监控

SHOW GLOBAL VARIABLES LIKE 'read_only';

这个语句将显示当前MySQL实例是否设置为只读模式。

3. 节点状态监控

-- 查看当前节点的状态
SELECT * FROM performance_schema.replication_group_members;

-- 或者使用以下命令查看更详细的状态
SHOW GLOBAL STATUS LIKE 'group_replication_primary_member';

这些命令将显示集群中所有成员的状态,以及哪个成员是当前的主节点。

4. 集群可用性监控

集群的可用性通常通过监控各个节点的状态和通信情况来间接反映。没有直接的SQL语句可以全面反映集群的可用性,但可以通过组合多个监控指标(如节点状态、网络连通性等)来评估。

5. 非写节点的验证等待队列、应用等待队列监控

-- 查看等待验证的事务队列大小
SELECT * FROM performance_schema.replication_group_member_stats WHERE member_id = '<member_id>' AND variable_name = 'TRANSACTIONS_CERTIFIED_BEFORE_APPLIED';

-- 查看等待应用的事务队列大小
SELECT * FROM performance_schema.replication_group_member_stats WHERE member_id = '<member_id>' AND variable_name IN ('TRANSACTIONS_LOCAL_CACHE', 'TRANSACTIONS_APPLIED');

注意:这里的<member_id>需要替换为实际的成员ID。

6. 非写节点的延时监控

-- 查看事务应用的延迟情况
SELECT * FROM performance_schema.replication_group_member_stats WHERE member_id = '<member_id>' AND variable_name = 'TRANSACTIONS_COMMITTED_BEHIND';

这个语句将显示当前节点相对于主节点的事务提交延迟。

六、VIP服务提供

-在每个节点都部署VIP绑定和检测脚本,只有符合 primary 并且online的数据库节点才绑定VIP对外提供服务

上一篇下一篇

猜你喜欢

热点阅读