最近总是发现从数据库的数据与主数据库不一致。
分析日志发现有人执行: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,导到复制异常,从数据库与主数据库不一致。
只好进行宣导不允许再使用此语句