全同步是主从同步的增强。
因为主从同步虽可以实现一主多从,但它的局限在于只有在主数据库上写的时候从数据库才会做数据备份,而在从数据库做出改变时,主数据库不会记录相应的改变。
然而,全同步出现了,它可以是只要在一个数据库做出改变,所以其它在同组的数据库也会改变,同组的数据库没有等级之分。可以理解为“同组数据库之间数据相等”。
那么如何实现数据库的全同步复制呢?
实验环境:
redhat6.5操作系统;
主机:server1-----------172.25.254.1
server2-----------172.25.254.2
server3------------172.25.254.3
我们可以在主从复制的基础上进行此实验。(因为两者所需安装数据库的包一样)。或者自己重新安装包皆可,这里不再赘述,有兴趣者可参考主从复制具体过程:点击此处查看。
在server1主机上:
(1)停止数据库,并删除生成的文件。
[root@server1 ~]# /etc/init.d/mysqld stop
[root@server1 ~]# cd /var/lib/mysql
[root@server1 mysql]# rm -rf *
(2)修改mysql的配置文件
root@server1 mysql]# 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="b9e8cc0f-9c7a-11e8-ac38-52540025fd63" ##uuid 可以在数据库中用select uuid();查看
loose-group_replication_start_on_boot=off
loose-group_replication_local_address="172.25.5.3:24901"
loose-group_replication_group_seeds="172.25.5.3:24901,172.25.5.4:24901,172.25.5.5: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