2、编辑/etc/my.cnf配置参数(三个节点按照如下设置)
- log-bin = /data/mysql57/binlog/mysql-bin
- binlog_format = ROW
- sync_binlog = 1
- binlog_checksum = NONE
- log_slave_updates = 1
- gtid_mode = ON
- enforce_gtid_consistency = ON
- master_info_repository = TABLE
- relay_log_info_repository = TABLE
3、安装插件
INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘;
- 1
4、设置集群参数(三个节点都执行)
注:group_replication_group_name名字要通过select uuid()来生成
group_replication_local_address在节点2和节点3上改成本地IP地址
执行完了,别忘了修改my.cnf里加入到配置文件里。
5、节点加入集群
Primary节点上执行
注:待replication_group_members表查询结果MEMBER_STATE字段状态为ONLINE,再执行关闭初始化。
两台Secondary上执行
- SET SQL_LOG_BIN=0;
- GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘repl‘@‘%‘ IDENTIFIED BY ‘repl‘;
- FLUSH PRIVILEGES;
- SET SQL_LOG_BIN=1;
- CHANGE MASTER TO MASTER_USER=‘repl‘,
- MASTER_PASSWORD=‘repl‘ FOR CHANNEL
- ‘group_replication_recovery‘;
- START GROUP_REPLICATION;
- select * from performance_schema.replication_group_members;
如下图所示,代表集群已经成功运行。
4、Group Replication的维护
假如Secondary节点宕机,重启后由于种种原因加入集群失败,现需要重新恢复,步骤如下:
1、在另一台Secondary节点上mysqldump全量
- mysqldump -uroot -p123456 -q --single-transaction
- --master-data=2 -B yourDB > /root/yourDB.sql
这一步会自动在yourDB.sql里生成
SET @@GLOBAL.GTID_PURGED=‘23e510dc-d30b-11e6-a4c6-b82a72d18b06:1,4d1fd6ec-d2fd-11e6-ae4b-549f3503ab31:1-1543112:2003786-2003789:3003787,e4e34dd3-d2fa-11e6-984b-b82a72d18b06:1‘;
2、导入进去
再执行下面的语句即可
- CHANGE MASTER TO MASTER_USER=‘repl‘,
- MASTER_PASSWORD=‘repl‘ FOR CHANNEL
- ‘group_replication_recovery‘;
- START GROUP_REPLICATION;
Mysql 主从复制机制
标签:word client grant 文件 注意事项 none 参数 ali 隔离