1、造成主从不一致的原因
(1)主库binlog格式为Statement,同步到从库执行后可能造成主从不一致。
(2)主库执行更改前有执行set sql_log_bin=0,会使主库不记录binlog,从库也无法变更这部分数据。
(3)从节点未设置只读,误操作写入数据
(4)主库或从库意外宕机,宕机可能会造成binlog或者relaylog文件出现损坏,导致主从不一致
(5)主从实例版本不一致,特别是高版本是主,低版本为从的情况下,主数据库上面支持的功能,从数据库上面可能不支持该功能
(6)MySQL自身bug导致


2、如何避免主从不一致
(1)主库binlog采用ROW格式
(2)主从实例数据库版本保持一致
(3)主库做好账号权限把控,不可以执行set sql_log_bin=0
(4)从库开启只读,不允许人为写入
(5)定期进行主从一致性检验