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
View Code

Notice

技术图片
此时需要授权主能去从上面同步日志,由于之前在主上执行了grant replication slave on *.* to rep@192.168.231.% identified by 1qaz@WSX;

主从同步,所以从上面也有了上面的授权信息,由于对192.168.231.% 网段授权,所以无需再授权一次了。

假如当时授权的是固定Ip,那么需要再授权一次,此时授权操作应该在主上进行,因为在从上执行不会同步到主上导致主从不一致。
View Code

授权成功后,在主上执行下面操作即可

技术图片
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
View Code

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
View Code

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 等操作。
View Code

以上是关于mysql 主-主-从-从的主要内容,如果未能解决你的问题,请参考以下文章

mysql 主-主-从-从

如何从另一个主Json配置文件生成Json

如何将图像视图从改造加载的片段传递给子片段?

如何从片段返回主要活动

mysql主/从故障转移

从片段返回主页活动而不启动新活动(主页)