查看、设置mysql的事务隔离级别

110 阅读1分钟

mysql数据库的事务满足ACID的特性,其中I为隔离性,而隔离性又有四种隔离级别:

Read Uncommitted(读取未提交内容)
Read Committed(读取提交内容)
Repeatable Read(可重读)
Serializable(可串行化)

查看mysql数据库版本:

select version();

查看mysql中的事务隔离级别:

查看系统隔离级别:select @@global.tx_isolation;
查看会话隔离级别(5.0以上版本):
    select @@tx_isolation;
    show variables like 'tx_isolation';

查看会话隔离级别(8.0以上版本):
    select @@transaction_isolation; 
    show variables like 'transaction_isolation';

修改mysql中的事务隔离级别:

set session transaction isolation level repeatable read; 设置会话隔离级别为可重复读
set session transaction isolation level read uncommitted; 设置会话隔离级别为读未提交
set session transaction isolation level read committed; 设置会话隔离级别为读已提交

执行一条事务语句:

begin;
select * from t where 1=1;
commit;

参考参考文章: