一 简介:简述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 集群网络有问题,造成无法连接的