mysql 主-主-从-从
Posted fanggege
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 主-主-从-从相关的知识,希望对你有一定的参考价值。
搭建说明
4台机器搭建主主从从,先搭建两个互为主从,也就是主主模式。再搭建两个从分别同步两个主的数据
mysql 主 主模式搭建
主主模式就是两个互为主备
根据之前配置的主从-gtid 模式(详见主从搭建-gtid 文章),把主从改为主主,让主也同步从 的binglog日志
由于之前都配置了如下配置
log-bin server-id=2/1 gtid_mode=ON enforce_gtid_consistency=1
Notice
此时需要授权主能去从上面同步日志,由于之前在主上执行了grant replication slave on *.* to rep@‘192.168.231.%‘ identified by ‘1qaz@WSX‘;
主从同步,所以从上面也有了上面的授权信息,由于对192.168.231.% 网段授权,所以无需再授权一次了。
假如当时授权的是固定Ip,那么需要再授权一次,此时授权操作应该在主上进行,因为在从上执行不会同步到主上导致主从不一致。
授权成功后,在主上执行下面操作即可
mysql> change master to -> master_host=‘192.168.231.101‘, #从IP -> master_port=3306, -> master_user=‘rep‘, -> master_password=‘1qaz@WSX‘, -> master_auto_position=1; #binlog 日志位置采用自动协商方式 mysql>start slave; mysql>show slave statusG
mysql 从从模式搭建
两台从机配置
vi /etc/my.cnf server-id=3 gtid_mode=ON enforce_gtid_consistency=1 master-info-repository=TABLE #master info 信息保存在了表里面 relay-log-info-repository=TABLE # #中继日志保存在表里面 分别向两个主去同步,两台机器都做如下配置 mysql> source /opt/2019-07-18-all.sql 同步主1配置 mysql> change master to -> master_host=‘192.168.231.100‘, -> master_port=3306, -> master_user=‘rep‘, -> master_password=‘1qaz@WSX‘, -> master_auto_position=1 for channel ‘master1-channel‘; #channel 名称自定义 同步主2配置 mysql> change master to -> master_host=‘192.168.231.101‘, -> master_port=3306, -> master_user=‘rep‘, -> master_password=‘1qaz@WSX‘, -> master_auto_position=1 for channel ‘master2-channel‘; #channel 名称自定义 -> start slave; -> show slave statusG
FAQ
show slave statusG 报错: Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that 解决:reset master; stop slave; 主上重新备份数据库,从上重新执行source /opt/2019-07-18-all.sql 重新执行上面的change master to 等操作。
以上是关于mysql 主-主-从-从的主要内容,如果未能解决你的问题,请参考以下文章