码迷,mamicode.com
首页 > 数据库 > 详细

mysql 主-主-从-从

时间:2019-07-21 16:11:52      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:解决   两台   position   就是   信息保存   stop   ack   中继日志   alt   

搭建说明

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 status\G
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 status\G
View Code

FAQ

技术图片
show slave status\G

报错:
    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 主-主-从-从

标签:解决   两台   position   就是   信息保存   stop   ack   中继日志   alt   

原文地址:https://www.cnblogs.com/fanggege/p/11221374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!