005MGR mysql group replication 5.7.19部署

四、主节点配置MySQL Group Replication --多主模式
          0、配置hosts文件、防火墙端口开放
                vi /etc/hostname
                          localhost.localdomain.6
vi /etc/hosts
192.168.123.6 localhost.localdomain.6
192.168.123.7 localhost.localdomain.7
192.168.123.9 localhost.localdomain.9
开放端口
firewall-cmd --zone=public --add-port=33061/tcp --permanent;
firewall-cmd --reload

1、/etc/my.cnf
# Group Replication
server_id = 1236
gtid_mode = ON
enforce_gtid_consistency = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
binlog_checksum = NONE
log_slave_updates = ON
log_bin = binlog
binlog_format= ROW
transaction_write_set_extraction = XXHASH64
loose-group_replication_group_name = 'ce9be252-2b71-11e6-b8f4-00212844f856'
loose-group_replication_start_on_boot = on
loose-group_replication_local_address = '192.168.123.6:33061'
loose-group_replication_group_seeds ='192.168.123.6:33061,192.168.123.7:33062,192.168.123.9:33063'
loose-group_replication_bootstrap_group = off
# 关闭单主模式
loose-group_replication_single_primary_mode = off
# 开启多主模式
loose-group_replication_enforce_update_everywhere_checks = on


2、service mysqld restart
          service mysqld restart

3、建立复制账号
mysql -u root -p
set SQL_LOG_BIN=0;
create user repl@'%' identified by 'data';
grant replication slave on *.* to repl@'%';
flush privileges;
set SQL_LOG_BIN=1;
--构建group replication集群
change master to master_user='repl',master_password='data' for channel 'group_replication_recovery';

4、安装group replication插件
mysql -u root -p
install PLUGIN group_replication SONAME 'group_replication.so';
--查看group replication组件
show plugins;

5、启动主节点的group replication
mysql -u root -p
--设置group_replication_bootstrap_group为ON是为了标示以后加入集群的服务器以这台服务器为基准,以后加入的就不需要设置。
#设置网段白名单
set global  group_replication_ip_whitelist="192.168.123.0/24,127.0.0.1/32,192.168.123.0/16,192.168.123.1/24";
--作为首个节点启动mgr集群
change master to master_user='repl',master_password='data' for channel 'group_replication_recovery';
#这句只有在第一次执行引导组的时候执行.
set global group_replication_bootstrap_group=ON;

start group_replication;
set global group_replication_bootstrap_group=OFF;

6、查看mgr的状态
mysql -u root -p
--查询表performance_schema.replication_group_members
select * from performance_schema.replication_group_members;


五、从节点配置MySQL Group Replication
    
    
0、配置hosts文件、防火墙端口开放
                 vi /etc/hostname
                          localhost.localdomain.7
vi /etc/hosts
192.168.123.6 localhost.localdomain.6
192.168.123.7 localhost.localdomain.7
192.168.123.9 localhost.localdomain.9
开放端口
firewall-cmd --zone=public --add-port=33062/tcp --permanent;
firewall-cmd --reload


1、/etc/my.cnf
# Group Replication
server_id = 1237
gtid_mode = ON
enforce_gtid_consistency = ON
enforce_gtid_consistency = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
binlog_checksum = NONE
log_slave_updates = ON
log_bin = binlog
binlog_format= ROW
transaction_write_set_extraction = XXHASH64
loose-group_replication_group_name = 'ce9be252-2b71-11e6-b8f4-00212844f856'
loose-group_replication_start_on_boot = off
loose-group_replication_local_address = '192.168.123.7:33062'
loose-group_replication_group_seeds ='192.168.123.6:33061,192.168.123.7:33062,192.168.123.9:33063'
loose-group_replication_bootstrap_group = off
# 关闭单主模式
loose-group_replication_single_primary_mode = off
# 开启多主模式
loose-group_replication_enforce_update_everywhere_checks = on

2、service mysqld restart

3、建立复制账号
mysql -u root -p
set SQL_LOG_BIN=0;
create user repl@'%' identified by 'data';
grant replication slave on *.* to repl@'%';
flush privileges;
set SQL_LOG_BIN=1;
--构建group replication集群
change master to master_user='repl',master_password='data' for channel 'group_replication_recovery';


4、安装group replication插件
mysql -u root -p
install PLUGIN group_replication SONAME 'group_replication.so';
--查看group replication组件
show plugins;

5、把实例添回到主节点的复制组
mysql -u root -p
set global  group_replication_ip_whitelist="192.168.123.0/24,127.0.0.1/32,192.168.123.0/16,192.168.123.1/24";
change master to master_user='repl',master_password='data' for channel 'group_replication_recovery';
set global group_replication_allow_local_disjoint_gtids_join=ON;#有时不需要加
start group_replication;

6、在主节点查看mgr状态
mysql -u root -p
分区工作笔记的第 5
--查询表performance_schema.replication_group_members
select * from performance_schema.replication_group_members;


select variable_value from performance_schema.global_status where variable_name='group_replication_primary_member';
先备份后清理binlog日志
show master status\G 
show slave status\G
purge master logs to 'mysql-bin.000022'; //删除指定日志文件的日志索引中binlog日志文件

set global transaction_write_set_extraction=OFF;
set   global   transaction_write_set_extraction=XXHASH64;
/home/mysql/bin/mysqldump --all-databases --set-gtid-purged=ON --single-transaction -uroot -p > /home/mysql1236.sql;


在source那边,执行:
flush logs;
show master status;

在target端,执行:
CHANGE MASTER TO MASTER_LOG_FILE='testdbbinlog.000008',MASTER_LOG_POS=107;
slave start;
show slave status \G


跳过已删除过程,恢复
主数据库执行: show global variables like '%gtid%' ;
从库执行,多个用逗号分隔,支持1-10:set global gtid_purged = '24024e52-bd95-11e4-9c6d-926853670d0b:1' ;

 ce9be252-2b71-11e6-b8f4-00212844f856:1-11 

7、故障 恢复
                 https://blog.csdn.net/d6619309/article/details/61917089
        从主库dump到从库,从库reset master,start group_replication









猜你喜欢

转载自www.cnblogs.com/linux777/p/9376644.html
今日推荐