rc隔离级别mysql能看见未提交数据

rc隔离级别mysql能看见未提交数据,第1张

 能看见的原因是 在RU级别下,所有的事务都可以看到其他未提交事务所修改的数据,也就是说,在这个隔离级别下会产生脏读和幻读的问题。该级别性能也并不比其他隔离级别好多少,因此很少实际使用。

在「读未提交」隔离级别下,可能发生脏读、不可重复读和幻读现象;

2 Read Committed(提交读)

在RC级别下,一个事务开始执行后,只能看到其他已经提交的事务造成的修改, 不能看到未提交事务对数据的修改,解决了脏读的问题。可能发生不可重复读和幻读现象。很多DBMS默认隔离级别都是RC。(MySQL除外

事务未提交会通信mysql。根据相关资料查询,在于数据库事务的隔离级别,mysql默认下为readrepeatable,是不能读取未提交的内容的,将其设置为readuncommitted即可。

如何查询mysql事务未提交

打开全日志后可以看。

打开的方法是:

1、5.0的版本

在配置文件的mysqld段中,增加

log=/var/log/mysql.log(或者其他的你想放日志的路径)

然后重启数据库

2、如果是5.1的版本

在配置文件的mysqld段中,增加

general_log_file=/var/log/mysql.log

然后重启数据库

5.1版本也可以不用重启,全局设置一下,方法是:

set global general_log=1

set global general_log_file=/var/log/mysql.log

打开日志后,查看未提交事务的方法为:

连接到数据库后,会分配一个连接id,然后追踪此连接id,找到此连接执行的所有sql,如果有begin,而没有commit,那么这个语句就是未提交的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7411491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存