MySQL双主双从配置

双主双从结构图

 

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

从库配置不变,根上面结构图配置绑定关系即可,参考单主单从配置://www.cnblogs.com/yaohy/p/16229857.html