在server1中:
cd /var/log/mysql
rm -fr * ###删掉之前的东西
/etc/init.d/mysqld start ##打开数据库
grep password /var/log/mysql.log ##过滤出初始密码
mysql -p ##登陆数据库
vim /etc/my.cnf 配置文件内容为:
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
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="5b7af891-9c7c-11e8-b12d-525400b7366b"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "172.25.3.1:24901"
loose-group_replication_group_seeds="172.25.3.1:24901,172.25.3.2:24902,172.25.3.3:24901"
loose-group_replication_bootstrap_group= off
loose-group_replication_single_primary_mode=off
loose-group_replication_enforce_update_everywhere_checks=on
loose-group_replication_ip_whitelist="172.25.3.0/24,127.0.0.1/8"
[root@server1 mysql]# mysql -p
mysql> alter user root@localhost identified by 'Xubowen+007';
Query OK, 0 rows affected (0.08 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)
mysql> grant replication slave on *.* to rpl_user@'%' identified by 'Xubowen+007';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> reset master;
Query OK, 0 rows affected (0.24 sec)
mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)
mysql> change master to master_user='rpl_user',master_password='Xubowen+007' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.66 sec)
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (0.23 sec)
mysql> SHOW PLUGINS;
mysql> SET GLOBAL group_replication_bootstrap_group=ON;
Query OK, 0 rows affected (0.00 sec)
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (1.97 sec)
mysql> SELECT * FROM performance_schema.replication_group_members;
在server2中:
cd /var/log/mysql
rm -fr * ###删掉之前的东西
/etc/init.d/mysqld start ##打开数据库
grep password /var/log/mysql.log ##过滤出初始密码
mysql -p ##登陆数据库
vim /etc/my.cnf 配置文件内容为:
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
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="5b7af891-9c7c-11e8-b12d-525400b7366b"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "172.25.3.2:24901"
loose-group_replication_group_seeds="172.25.3.1:24901,172.25.3.2:24902,172.25.3.3:24901"
loose-group_replication_bootstrap_group= off
loose-group_replication_single_primary_mode=off
loose-group_replication_enforce_update_everywhere_checks=on
loose-group_replication_ip_whitelist="172.25.3.0/24,127.0.0.1/8"
[root@server2 mysql]# mysql -p
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user root@localhost identified by 'Xubowen+007';
Query OK, 0 rows affected (0.06 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)
mysql> grant replication slave on *.* to rpl_user@'%' identified by 'Xubowen+007';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> reset master;
Query OK, 0 rows affected (0.51 sec)
mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)
mysql> change master to master_user='rpl_user',master_password='Xubowen+007' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.68 sec)
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (0.35 sec)
mysql> SHOW PLUGINS;
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (6.91 sec)
mysql> SELECT * FROM performance_schema.replication_group_members;
在server3中:
cd /var/log/mysql
rm -fr * ###删掉之前的东西
/etc/init.d/mysqld start ##打开数据库
grep password /var/log/mysql.log ##过滤出初始密码
mysql -p ##登陆数据库
vim /etc/my.cnf 配置文件内容为:
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
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="5b7af891-9c7c-11e8-b12d-525400b7366b"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "172.25.3.3:24901"
loose-group_replication_group_seeds="172.25.3.1:24901,172.25.3.2:24902,172.25.3.3:24901"
loose-group_replication_bootstrap_group= off
loose-group_replication_single_primary_mode=off
loose-group_replication_enforce_update_everywhere_checks=on
loose-group_replication_ip_whitelist="172.25.3.0/24,127.0.0.1/8"
[root@server3 mysql]# mysql -p
mysql> alter user root@localhost identified by 'Xubowen+007';
Query OK, 0 rows affected (0.33 sec)
mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)
mysql> grant replication slave on *.* to rpl_user@'%' identified by 'Xubowen+007';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> reset master;
Query OK, 0 rows affected (0.28 sec)
mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)
mysql> change master to master_user='rpl_user',master_password='Xubowen+007' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (1.00 sec)
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (0.48 sec)
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (3.42 sec)
mysql> SELECT * FROM performance_schema.replication_group_members;
测试:
在server1中创建一个库,添一个表,插入数据
mysql> create database test;
Query OK, 1 row affected (0.23 sec)
mysql> use test;
Database changed
mysql> create table t1 (c1 int primary key,c2 text not null);
Query OK, 0 rows affected (0.63 sec)
mysql> insert into t1 values(1,'luis');
在server3中可以看到
在server2中:插入数据
mysql> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> insert into t1 values(3,'lucy');
Query OK, 1 row affected (0.28 sec)
在server3中可看到