双主双从结构图
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