首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL工作台和默认会话隔离级别

MySQL工作台和默认会话隔离级别
EN

Stack Overflow用户
提问于 2014-08-12 15:52:33
回答 1查看 4.6K关注 0票数 4

我对MySQL工作台6.0CE有一个问题,我将尽可能地描述它:

MySQL工作台总是将我的会话变量@@tx_isolation设置为"REPEATABLE READ",更改该变量的唯一方法是使用SET tx_isolation='READ-COMMITTED';

我想要的是,当我启动工作台时,tx_isolation的默认会话变量是'READ-COMMITTED'而不是'REPEATABLE-READ';是的,我已经更改了全局变量tx_isolation,它是'READ-COMMITTED',但是会话1不是。

Ej:

代码语言:javascript
复制
SELECT @@Global.tx_isolation, @@tx_isolation;

返回:'READ-COMMITTED''REPEATABLE-READ'

注意:如果我在MySQL命令行中查询相同的代码,这两个变量都被设置为'READ-COMMITTED',这就是为什么我认为这是MySQL工作台而不是服务器的问题所在。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-11-29 11:06:01

这是个老问题,但我还是有同样的问题。

根据doc (repeatable-read),默认的隔离级别是可重复读取的.

这意味着数据库的快照是在事务的第一次读取时生成的。此事务的其他读取将显示快照的数据。

因此,您需要结束事务(提交或回滚)以获得下一次读取的新快照。

我在AutoCommit上设置AutoCommit工作台的同事没有看到可重复读取的行为。我们发现这是因为在每次选择之后,事务将被关闭并创建一个新的快照。

因此,由于bug仍未得到纠正(如Sithsu所述),一个解决办法是:

  • 切换到自动提交,以便自动创建新快照
  • 或在每次选择后提交/回滚以创建新快照
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25268782

复制
相关文章

相似问题

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