0%

mysql【主从复制模式,且从节点只读】

问题

双主之间复制如果网络中断或者其它原因导致不可用,此时在不同主上修改了同一条数据,就会存在数据不一致的情况。

解决办法

  1. 过滤到已知错误

    #slave-skip-errors=all # 忽略复制产生的错误
    #slave-skip-errors=1062,1032,1060 # 跳过已知错误,主键冲突、表已存在等错误代码如1062,1032,1060等

    但是这样数据不一致的问题还是存在.

  2. 不用双主模式,改成主从模式,且从节点只能读不能写
    关闭双向复制,设置单向复制,一主一从

    # 从节点设置不能写,设置完需要重启mysql服务
    read_only=ON
    super_read_only=ON
    

SQL

FLUSH TABLES WITH READ LOCK;