在「读未提交」隔离级别下,可能发生脏读、不可重复读和幻读现象;
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,那么这个语句就是未提交的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)