双主双从结构图
Master1配置
server-id=1#开启binlog日志
log-bin=mysql-bin#忽略的库
binlog-ignore-db=mysql#复制的库
binlog-do-db=test#binlog格式:ROW(行模式,记录所有变动的行,存入binlog,缺点:当遇到批量修改的sql时,容易导致日志sql过多)# STATEMENT(记录每条修改的SQL,存入binlog,缺点:当遇到now()这些函数时,会导致主从出现数据误差)# MIXED(实现ROW和STATMENT切换,缺点:无法识别@@的系统变量)
binlog-format=STATEMENT#主键递增的步长,由于双主,如果是自动递增的主键的话,会出现主键冲突的问题auto_increment_increment=2#主键自动递增的初始值,双主的起始值设置的时候需要错开
auto_increment_offset=1#双主的实例从对方实例中同步过来的数据进行二进制日志文件记录,这样才能让从节点进行同步
log-slave-updates
Master2配置
server-id=3#开启binlog日志
log-bin=mysql-bin#忽略的库
binlog-ignore-db=mysql#复制的库
binlog-do-db=test#binlog格式:ROW(行模式,记录所有变动的行,存入binlog,缺点:当遇到批量修改的sql时,容易导致日志sql过多)# STATEMENT(记录每条修改的SQL,存入binlog,缺点:当遇到now()这些函数时,会导致主从出现数据误差)# MIXED(实现ROW和STATMENT切换,缺点:无法识别@@的系统变量)
binlog-format=STATEMENT #主键递增的步长,由于双主,如果是自动递增的主键的话,会出现主键冲突的问题auto_increment_increment=2 #主键自动递增的初始值,双主的起始值设置的时候需要错开
auto_increment_offset=2#双主的实例从对方实例中同步过来的数据进行二进制日志文件记录,这样才能让从节点进行同步
log-slave-updates
从库配置不变,根上面结构图配置绑定关系即可,参考单主单从配置:https://www.cnblogs.com/yaohy/p/16229857.html