mysql 查询设置事务隔离级别

查询

mysql 5.7

1
SELECT @@tx_isolation;

mysql 8.0

1
select @@transation_isolation;

设置

设置 seesion 级别为可重复读

1
set session transaction ISOLATION level repeatable read;

设置系统级别为可重复读

1
set global transaction ISOLATION level repeatable read;

所有的隔离级别

  1. read uncommitted : 读未提交 (可以读到未提交的数据 (脏读) )
  2. read committed : 读已提交 — oracle 默认隔离级别 (可能每次读取的数据结果不一致 (幻读))
  3. repeatable read : 可重复读 — mysql 默认隔离级别 ( innodb 采用 mvcc 解决幻读问题)
  4. serializable : 串行化 (类似锁,写数据必须等待另一个事务结束)

设置 事务不自动提交

1
2
3
set autocommit = 0 ;
或者
start transation;

提交事务

1
commit;