关键词:mysql;master slave ;mysql group replication;组复制
mysql group replication是mysql5.7新推出的一种集群模式。关于组复制的知识和搭建方法官网上有介绍,这里重点介绍一下如何将mysql5.6的master-slave集群升级到mysql5.7的group replication集群。
现有的架构是传统的一主一从,比如A是主,B是从。将来要用的组复制集群三个节点是a,b,c,采用单主模式。
Step1:
在a上修改配置文件,注释gtid_mode,log-bin,binlog_format,初始化mysql
/usr/sbin/mysqld --defaults-file=/etc/my.cnf --datadir=/database/mysql/ --user=mysql --initialize
Step2:
启动mysql,修改密码,添加组复制用户
set password=password('123456');
grant replication slave,replication client on *.* to rpl_user@'%' identified by '123456';
flush privileges;
Step3: 用mysqldump方法备份出A中的数据,传输到a上导入
mysql -uroot -p db1 < db1.sql
Step4:
增加复制凭证,安装插件
change master to master_user='rpl_user', master_password='123456' for channel 'group_replication_recovery';
install plugin group_replication soname 'group_replication.so';
Step5:
修改配置文件,启用gtid_mode,log-bin,binlog_format,重启mysql。在a上启动组复制
set global group_replication_bootstrap_group=on;
start group_replication;
set global group_replication_bootstrap_group=off;
在b,c上启动组复制
start group_replication;
到此完成。
另外,组复制集群不可以用xtrabackup工具备份和恢复数据,应为该方法恢复数据后再启动组复制会报错。