MySQL主从库STATEMENT复制由于SET @BINLOG_FORMAT导致的不一致

原创
2017/02/15 09:14
阅读数 458

最近总是发现从数据库的数据与主数据库不一致。

分析日志发现有人执行:SET @BINLOG_FORMAT='ROW';

于是就询问开发人员,果然有人执行这个语句,原因是在Toad中会报这个错:

Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.

于是他们就会执行:SET @BINLOG_FORMAT='ROW'; 然后Toad就可以继续使用了

本来主数据库的二进制日志格式是STATEMENT,而这个会话改成了ROW,导到复制异常,从数据库与主数据库不一致。

只好进行宣导不允许再使用此语句

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部