linux企业实战 --MySQL数据库之组复制

实验环境

hostnameIP
server1172.25.42.1master
server2172.25.42.2slave
server3172.25.42.3slave

组复制前需要清空mysql环境

server1,server2,server3 同下!!!

systemctl stop mysqld  #关闭mysqld

#查看3306端口是否被占用了
netstat -antlupe | grep 3306

#查看UUID
cd /var/lib/mysql
cat auto.cnf

#清空mysql的环境
rm -fr /var/lib/mysql/*

在这里插入图片描述在这里插入图片描述

server1配置
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 				 #关闭binlog校验
log_slave_updates=ON
log_bin=binlogbinlog_format=ROW  	# 开启行复制
plugin_load_add='group_replication.so'
transaction_write_set_extraction=XXHASH64
group_replication_group_name="b3c2cd76-650c-11ea-b4ca-52540053346f"
group_replication_start_on_boot=off
group_replication_local_address= "172.25.42.1:33061"
group_replication_group_seeds= "172.25.42.1:33061,172.25.42.2:33061,172.25.42.3:33061"
group_replication_bootstrap_group=off

loose-group_replication_ip_whitelist="127.0.0.1,172.25.42.0/24"
loose-group_replication_enforce_update_everywhere_checks=ON
loose-group_replication_single_primary_mode=OFF    	# 开启组复制

systemctl start mysqld

在这里插入图片描述
在这里插入图片描述

cat /var/log/mysqld.log |grep password		#查看mysql初始密码
mysql_secure_installation 					#对mysql进行安全初始化

在这里插入图片描述

mysql -uroot -pDrn+19961126			#登陆数据库

在这里插入图片描述

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'Drn+19961126';  配置用户
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='Drn+19961126' FOR CHANNEL 'group_replication_recovery';
mysql> SHOW PLUGINS;

在这里插入图片描述在这里插入图片描述

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配置
#设置mysql的配置文件
vim /etc/my.cnf 

server_id=2|3   #server2 为2/ server3 为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="f98fbd8c-55dd-11ea-8bee-52540049dbb1"
group_replication_start_on_boot=off
group_replication_local_address= "172.25.42.2:33061" | "172.25.42.3:33061"
group_replication_group_seeds= "172.25.42.1:33061,172.25.42.2:33061,172.25.42.3:33061"
group_replication_bootstrap_group=off

loose-group_replication_ip_whitelist="127.0.0.1,172.25.42.0/24"
loose-group_replication_enforce_update_everywhere_checks=ON
loose-group_replication_single_primary_mode=OFF

在这里插入图片描述

在这里插入图片描述

cat /var/log/mysqld.log |grep password		#查看mysql的初始默认密码
mysql_secure_installation 					#安全初始化

在这里插入图片描述

mysql -uroot -pDrn+19961126		#登陆mysql

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'Drn+19961126';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> SET SQL_LOG_BIN=1;

在这里插入图片描述

mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='Drn+19961126' FOR CHANNEL 'group_replication_recovery';
mysql> set global group_replication_allow_local_disjoint_gtids_join=on;
mysql> START GROUP_REPLICATION;

在这里插入图片描述

mysql> SELECT * FROM performance_schema.replication_group_members; #查看server2是否上线

在这里插入图片描述

server3配置

具体配置过程同server2!!!
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

测试

一组任意一台server写入数据,组内其他成员可查询到!!

测试图中,server2建表,插入数据,server1和server3都可查询到所插入的表格和表格内的数据!!!

server2中建表,并插入数据在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值