[root@server1 ~]# rm -rf /usr/local/mysql/data/*
[root@server1 data]# vim /etc/my.cnf

[root@server1 data]# mysqld --initialize --user=mysql

[root@server1 ~]# /etc/init.d/mysqld start
[root@server1 ~]# vim /etc/my.cnf
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
server_id=1
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
plugin_load_add='group_replication.so'
transaction_write_set_extraction=XXHASH64
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "172.25.4.1:33061"
group_replication_group_seeds= "172.25.4.1:33061,172.25.4.2:33061,172.25.4.3:33061"
group_replication_bootstrap_group=off
group_replication_ip_whitelist="172.25.4.0/24,127.0.0.1/8"
group_replication_single_primary_mode=OFF
group_replication_enforce_update_everywhere_checks=ON

[root@server1 ~]# /etc/init.d/mysqld restart
[root@server1 ~]# mysql -pO*JlQotrZ8fF
mysql> ALTER USER root@localhost identified by 'westos';
mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'westos';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='westos' FOR CHANNEL 'group_replication_recovery';
mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
mysql> SELECT * FROM performance_schema.replication_group_members;

server2
[root@server2 ~]# rm -rf /usr/local/mysql/data/*
[root@server2 ~]# vim /etc/my.cnf

[root@server2 ~]# mysqld --initialize --user=mysql

[root@server2 ~]# vim /etc/my.cnf
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
server_id=2
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
plugin_load_add='group_replication.so'
transaction_write_set_extraction=XXHASH64
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "172.25.4.2:33061"
group_replication_group_seeds= "172.25.4.1:33061,172.25.4.2:33061,172.25.4.3:33061"
group_replication_bootstrap_group=off
group_replication_ip_whitelist="172.25.4.0/24,127.0.0.1/8"
group_replication_single_primary_mode=OFF
group_replication_enforce_update_everywhere_checks=ON
group_replication_allow_local_disjoint_gtids_join=ON

[root@server2 ~]# mysql -pq%ZNXv_z2ktQ
mysql> ALTER USER root@localhost identified by 'westos';
mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'westos';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='westos' FOR CHANNEL 'group_replication_recovery';
mysql> START GROUP_REPLICATION;
server1查看,成功加入
server3加入
[root@server3 ~]# rm -rf /usr/local/mysql/data/*
[root@server3 ~]# vim /etc/my.cnf

[root@server3 ~]# mysqld --initialize --user=mysql

[root@server3 ~]# vim /etc/my.cnf
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
server_id=3
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
plugin_load_add='group_replication.so'
transaction_write_set_extraction=XXHASH64
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "172.25.4.3:33061"
group_replication_group_seeds= "172.25.4.1:33061,172.25.4.2:33061,172.25.4.3:33061"
group_replication_bootstrap_group=off
group_replication_ip_whitelist="172.25.4.0/24,127.0.0.1/8"
group_replication_single_primary_mode=OFF
group_replication_enforce_update_everywhere_checks=ON
group_replication_allow_local_disjoint_gtids_join=ON

[root@server3 ~]# /etc/init.d/mysqld start
[root@server3 ~]# mysql -p
mysql> ALTER USER root@localhost identified by 'westos';
mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'westos';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='westos' FOR CHANNEL 'group_replication_recovery';
mysql> START GROUP_REPLICATION;
server1查看,server3成功加入
测试
[root@server1 ~]# mysql -pwestos
mysql> create database test;
mysql> 创建表如图
mysql> use test;
mysql> desc t1;
mysql> INSERT INTO t1 VALUES (1, 'Luis');

server2查看
server2写入
mysql> use test;
mysql> INSERT INTO t1 VALUES (2, 'bw');
server1查看
server3写入
mysql> INSERT INTO t1 VALUES (3, 'westos');
server2查看
如果关闭server1
[root@server1 ~]# /etc/init.d/mysqld stop
server2写入
mysql> INSERT INTO t1 VALUES (4, 'bw');
server3查看
server3写入
mysql> INSERT INTO t1 VALUES (5, 'westos');
server2查看
server1启动
[root@server1 ~]# /etc/init.d/mysqld start
[root@server1 ~]# mysql -pwestos
mysql> select * from test.t1;
mysql> SELECT * FROM performance_schema.replication_group_members;

重新加入
mysql> START GROUP_REPLICATION;
mysql> SELECT * FROM performance_schema.replication_group_members;
mysql> select * from test.t1;

版权声明:本文为m0_51140575原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。