【MySQL运维】主从复制架构修改为MGR架构教程

tanglu 528 2022-02-08

1、停掉从库slave线程

mysql > stop slave;


2、关闭从库线程自启动,然后重启服务

vi /etc/my.cnf
skip_slave_start = OFF


3、各节点设置group_replication_group_name、group_replication_local_address、group_replication_group_seeds

vi /etc/my.cnf
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"  #GROUP组名,UUID格式,可以select uuid()生成,各节点保持一致
loose-group_replication_local_address="192.168.94.11:33061"  #各节点自身IP和端口,这里的端口用于集群内部通信,不是MySQL提供服务的端口
loose-group_replication_group_seeds="192.168.94.11:33306,192.168.94.12:33306,192.168.94.13:33306"   #种子节点的IP和端口,新节点加入集群时要与种子节点通信,而启动集群的第一个节点不需要做该配置

4、各节点创建组复制用户,并且加入MGR复制通道

mysql > set sql_log_bin = 0;  #避免下面的语句写入到binlog,导致已有这些账号的节点出现主从异常  #新集群可以忽略这步
mysql > grant replication slave on *.* to 'repl'@'192.168.%' identified by '123456'
mysql > grant replication slave on *.* to 'repl'@'localhost' identified by '123456'
mysql > change master to master_user='repl',master_password='123456' for channel 'group_replication_recovery'  #channel是通道的固定名字


5、选取一个节点作为引导节点

mysql > set global group_replication_bootstrap_group = ON ;


6、启动引导节点

mysql > start group_replication;


7、关闭引导

mysql > set global group_replication_bootstrap_group = OFF


8、启动其他节点

mysql > start group_replication;


9、检查MGR集群状态,如果状态都正常的话可以在不同节点新增数据进行测试,看是否正常同步到其它节点

mysql > select * from performance_schema.replication_group_members  #检查MGR集群状态


版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:【Python脚本】使用嵌套for循环实现冒泡算法
下一篇:MySQL高可用解决方案(8)replication-manager数据库高可用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码