my.cnf配置文件binlog_format=mixed,而且使用的是默认隔离级别repeatable-read,那么这里面存在很重大的问题,网站空间,导致主从数据不一致。
下面我演示下:
主从都是mysql5.5,binlog_format=mixed,隔离级别repeatable-read。
master上的数据是
slave上的数据是
那么我在master上执行
你说slave上会报错吗?
答案是:no,不会报错,没有任何提示。
不信?你可以试试。
那为啥不会报错呢?从手册上来看,只有下面几种情况才会转换为row模式记录
再改为binlog_format=row格式后,再执行刚才的语句,就会报错,如下
小结:如果你采用默认隔离级别repeatable-read,香港服务器租用,那么建议binlog_format=row。如果你是read-committed隔离级别,binlog_format=mixed和binlog_format=row效果是一样的,香港空间,binlog记录的格式都是row,对主从复制来说是很安全的参数。
本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处