首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:为什么基于语句的二进制日志格式不能使用Innodb、读取、未提交或读提交隔离级别?

MySQL:为什么基于语句的二进制日志格式不能使用Innodb、读取、未提交或读提交隔离级别?
EN

Database Administration用户
提问于 2015-05-11 06:10:27
回答 1查看 778关注 0票数 2

在MySQL 文档中,它是这样写的:

如果您使用的是InnoDB表,并且事务隔离级别被读取、提交或读取未提交,则只能使用基于行的日志记录。

为什么基于语句的日志格式不能处理读、提交或读未提交?

EN

回答 1

Database Administration用户

发布于 2015-05-11 06:16:32

这些隔离模式的语义不能在SBR中得到保证,因为从服务器不太可能以相同的顺序执行多线程的语句。

更具体地说,来自变更日志:

使用基于语句的二进制日志格式和宣读承诺或更严格的事务隔离级别,InnoDB打印了一个错误,因为基于语句的日志记录可能导致主从数据库之间的不一致。但是,即使没有启用二进制日志记录,也会打印此错误(在这种情况下,不会出现这种不一致)。Bug #40360

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/101122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档