0%

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

问题

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

解决办法

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

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

  1. 不用双主模式,改成主从模式,且从节点只能读不能写
    关闭双向复制,设置单向复制,一主一从
# 从节点设置不能写,设置完需要重启mysql服务
read_only=ON
super_read_only=ON

# SQL
FLUSH TABLES WITH READ LOCK;