Mysql(二)Mysql的组复制

本文详细介绍了MySQL组复制的配置与测试过程,包括在多个服务器上的设置步骤,常见错误分析,如UUID冲突和配置文件错误。通过实验,强调了UUID稳定性与配置文件正确性对组复制成功的关键作用,并提供了终极测试案例,展示数据同步效果。
摘要由CSDN通过智能技术生成

Mysql的组复制

(一)在server1中配置和测试
配置:
1.在server1和server2中将mysqld关掉,并删除之前的数据文件,保持实验环境纯洁(在删除前查看uuid,此时查看uuid的原因是因为旧的uuid不会产生影响)
在server1上的操作:

[root@server1 mysql]# systemctl stop mysqld
[root@server1 mysql]# cat auto.cnf 
[root@server1 mysql]# rm -rf *

在这里插入图片描述
2.在server1中编辑mysql配置文件并开启mysqld服务

[root@server1 mysql]# vim /etc/my.cnf
[root@server1 mysql]# systemctl start mysqld
[root@server1 mysql]# systemctl restart mysqld

在这里插入图片描述
配置文件中的内容如下:

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 ##指示server必须为每个事务收集写集合,并使用XXHASH64哈希算法将其编码为散列
loose-group_replication_group_name="4ba0b05b-72dd-11e9-b543-5254008312d1" ##告知插件,正在加入或创建的组要命名,一般写uuid
loose-group_replication_start_on_boot=off  ##指示插件在server启动时不自动启动组复制
loose-group_replication_local_address= "172.25.66.1:24901" ##告诉插件使用IP地址本地主机,端口24601用于接收来自组中其他成员的传入连接
loose-group_replication_group_seeds= "172.25.66.1:24901,172.25.66.2:24901,172.25.66.3:24901"
loose-group_replication_bootstrap_group=off  ##配置是否自动引导组
loose-group_replication_ip_whitelist="127.0.0.1,172.25.66.0/24"  ##用户白名单
loose-group_replication_enforce_update_everywhere_checks=ON  ##多主模式下为多主更新启用或禁用严格一致性检查
loose-group_replication_single_primary_mode=OFF  ##设置组自动选择一个server来处理读/写工作

在这里插入图片描述
3.在server1上查看密码并修改密码

#过滤初始密码,此处密码在最后面
[root@server1 mysql]# grep password /var/log/mysqld.log
[root@server1 mysql]# mysql -p
mysql> alter user root@localhost identified by 'Bgg+2019';

在这里插入图片描述
在这里插入图片描述
4.在server1上启动组复制

mysql> show databases;  
mysql> SET SQL_LOG_BIN=0;	#禁用二进制日至
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'Bgg+2019';	#创建用户
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='Bgg+2019' FOR CHANNEL 'group_replication_recovery';	#当配置了用户,使用CHANGE MASTER TO语句将服务器为下一次需要从其他成员恢复状态时使SET SQL_LOG_BIN=0;用group_replication_recovery复制通道的给定凭证,发出以下命令,用创建用户时直接使用的值替换rpl_user和密码
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';	#安装组插件
mysql> SHOW PLUGINS; 
mysql> SET GLOBAL group_replication_bootstrap_group=ON;		#master上要先打开,等打开组复制之后再开启(slave上不用进行)
mysql> START GROUP_REPLICATION; #打开组复制
mysql>  SET GLOBAL group_replication_bootstrap_group=OFF;  

在这里插入图片描述
在这里插入图片描述
5.在server1上创建库后创建表,并插入数据

mysql> CREATE DATABASE test;
mysql> USE test;
mysql>  C
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值