MGR 架构 ~ DBA相关运维管理

一 简介:简述DBA相关管理MGR工作

二 监控

1 采用proxysql相关创造的view视图作为监控指标

三 备份

1 利用xtrabackup在读节点进行备份

2 设置binlog保留日期

四  DDL操作

1 索引相关可以直接DDL操作

2 大表相关采用PT-OSC在业务低峰期操作,MGR每个节点会执行相同的动作,所以要在业务低峰期做

五  数据恢复工具

1 采用美团恢复工具可以恢复数据,经过测试完全没问题

六 中间件选择

1 proxysql+mgr 会有性能损耗,但是能实现读写分离

2 自定义程序自住进行判断

3 采用HAPROXY+PXC方案,守护进程脚本需要自定义

七 常见错误锦集

1  Plugin group_replication reported: 'Error on session 16608. Transaction of size 24800282 exceeds specified limit 20971520. To increase the limit please adjust group_replication_transaction_size_limit option.'

分析 这是由于限制了大事务的大小,建议对事务进行拆分

2  集群发生网络故障,导致从节点被踢出,重新加入后导致数据不一致

分析 此问题见于爱可生的一篇文章,进行模拟,mysql官方也有BUG描述.大概率由于网络阻塞引起.同一GTID下的主和从不同事务内容,导致数据不一致,原来的事务丢失

解决方法: mysql5.7.26应该已经解决此BUG,对于存在BUG的版本可以进行故障节点重做,避免不一致情况发生

3 Connection attempt from IP address refused. Address is not in the IP whitelist.'

解决方法 节点的IP段没在MGR的白名单上,进行IP地址段的添加即可

4 Plugin group_replication reported: 'Can't start group replication on secondary member with single primary-mode while asynchronous replication channels are running.'

分析 如果节点曾经做过从库,那么在开启组复制的时候会报错,且日志中会出现以下错误 执行reset master reset slave

5  Slave I/O for channel 'group_replication_recovery': error connecting to master 'repl@bztcloud-mysql1:3306' - retry-time: 60  retries: 1, Error_code: MY-002061

分析 恢复通道无法连接 可能有三种情况

1 账号本身有问题,用账号也无法链接 在mysql8.0环境下会出现这个问题,由于验证机制已经改变

2 集群网络有问题,造成无法连接的

上一篇:sysctl.conf文件配置详解


下一篇:sysctl -p 重新加载文件/etc/sysctl.conf -a 所有参数 -w 临时指定