如何为MySQL 5.7 Group Replication集群中添加新节点
2017-03-04
MySQL Group Replication(简称MGR)是MySQL 5.7引入的的一个新特性,是基于原生复制及paxos协议的组复制技术的高可用解决方案。 本文记录如何向MySQL 5.7 MGR集群(单主模式)中添加新节点的具体步骤,适用的场景包括: 添加新节点到集群中、迁移集群中的某个节点到另外一台服务器上。
在要添加的新节点服务器上部署MySQL,过程略…
使用xtrabackup
在MGR集群主库上手动执行完整备份操作,过程略…
在新节点服务器上使用xtrabackup
将前面做的全量备份还原到一个指定目录内,过程略…
删除新节点服务器上MySQL的数据目录内所有内容,将前面的还原目录内的全部内容拷贝到新节点的数据目录内,并修改新节点目录和文件权限为mysql用户。
启动新节点上的MySQL服务,TRUNCATE以下两个系统表的数据:
1TRUNCATE TABLE mysql.slave_master_info;
2TRUNCATE TABLE mysql.slave_relay_log_info;
删除新节点数据目录下的以下文件:
1rm -f relay_bin-group_replication_applier.*
2rm -f relay_bin-group_replication_recovery.*
查看新节点数据目录下innobackupex
记录的备份时的GTID:
1cat xtrabackup_binlog_info
2binlog.000236 93656632 33847171-5f22-11e7-b03b-080027d9d784:1-67832192,
3401eada5-1003-11e9-8a8f-000ec6abd763:1-247905964,
4408d178d-819c-11e8-80fb-1866da8c6175:1-14408515,
5462ea38a-3f20-11e9-9e90-1866da8c6175:1-40642,
654e06abf-5235-11e9-849a-1866da8c2439:1-2
重启新节点上的数据库服务:
1systemctl restart mysqld
再次连接新节点数据库,重新配置GTID_PURGED
与上面查看的备份时的GTID一致,之后在新节点上启动组复制加入MGR集群:
1RESET MASTER;
2SET @@GLOBAL.GTID_PURGED='33847171-5f22-11e7-b03b-080027d9d784:1-67832192,
3401eada5-1003-11e9-8a8f-000ec6abd763:1-247905964,
4408d178d-819c-11e8-80fb-1866da8c6175:1-14408515,
5462ea38a-3f20-11e9-9e90-1866da8c6175:1-40642,
654e06abf-5235-11e9-849a-1866da8c2439:1-2';
7
8CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='replpassword' FOR CHANNEL 'group_replication_recovery';
9START GROUP_REPLICATION;
查看MGR成员,等待新加入的节点从RECOVERING
切换成ONLINE
状态,在RECOVRING过程中可以查看mysqld.err错误日志中是否有错误发生。
1 SELECT * FROM performance_schema.replication_group_members;
2+---------------------------+--------------------------------------+-------------+-------------+--------------+
3| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
4+---------------------------+--------------------------------------+-------------+-------------+--------------+
5| group_replication_applier | 462ea38a-3f20-11e9-9e90-1866da8c6175 | db01 | 3306 | ONLINE |
6| group_replication_applier | 54e06abf-5235-11e9-849a-1866da8c2439 | db02 | 3306 | ONLINE |
7| group_replication_applier | 62381d5e-5235-11e9-bc96-1866da8c2fcd | db03 | 3306 | ONLINE |
8| group_replication_applier | b2506996-fb2c-11eb-a2eb-fa163e2f9e58 | db04 | 3306 | RECOVRING |
9+---------------------------+--------------------------------------+-------------+-------------+--------------+