十、主从集群+双主双从
1.双主双从(MM-SS)
双主(MM)
前言:前面的试验,主服务器单节点设置,加入主服务器故障会影响全局的写入事件。故设置双主。
目前:已经设置master1为master2的主服务器。只需设置master2为master1的主服务器。
在master2上授权
grant replication slave ,replication client on *.* to 'rep'@'192.158.56.%' by 'Qianfeng@123';
flush privileges;
master1
mysql> change master to
master_host='master2',
master_user='rep',
master_password='Qianfeng@123',
master_auto_position=1; 把master2作为主服务器
start slave;
show slave status\G; 可以发现两台服务器互为主服务器
测试
select * from master1db.master1tab;

insert into master1db.master1tab values(999);
master2
select * from master1db.master1tab;

双方同步成功,双主设置完成。
双从(SS)
master1的数据备份
mysqldump -uroot -p'Qianfeng@123' --all-databases --single-transaction --master-data=2 --flush-logs > `date +%F-%H`-mysql-allQianfeng.sql

ls

scp 2022-01-26-22-mysql-allQianfeng.sql slave1:/tmp
scp 2022-01-26-22-mysql-allQianfeng.sql slave2:/tmp 把备份传去两个从服务器中
slave1和2同样操作
导入备份
mysql -uroot -p'Qianfeng@123' < /tmp/scp 2022-01-26-22-mysql-allQianfeng.sql
配置my.cnf
systemctl stop mysqld
vim /etc/my.cnf
server-id=3 id需要每台都不一样
gtid_mode=ON
enforce_gtid_consistency=1
master-into-repository=TABLE
relay-log-info-repository=TABLE
:wq
systemctl start mysqld
登录mysql
mysql -uroot -p'Qianfeng@123'
配置主服务器
change master to master_host='master1',master_user='rep',master_password='Qianfeng@123',master_auto_position=1 for channel 'master1';
auto_position=1是和主服务器的配置中呼应,双主有提及,使用master1通道;
change master to master_host='master2',master_user='rep',master_password='Qianfeng@123',master_auto_position=1 for channel 'master2';
start slave; 开启奴隶模式
查看配置状况
show slave status\G


能看到master1和master2,他们的线程都可以运行的话,证明设置没有问题
测试
master1服务器
inster into master1db.master1tab values(2020);
select * from master1db.master1tab;
其他主或从服务器
select * from master1db.master1tab;

成功

浙公网安备 33010602011771号