MySQL查看和设置事务的隔离级别

时间:2022-06-01 16:46:49

查看MySQL的事务隔离级别

查看事务隔离级别

SHOW VARIABLES LIKE 'tx_isolation';

查看全局的事务隔离级别

SHOW GLOBAL VARIABLES LIKE 'tx_isolation';

使用系统变量查询

SELECT @@global.tx_isolation;
SELECT @@session.tx_isolation;
SELECT @@tx_isolation;

设置MysQL的事务隔离级别

语法

SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
  {
       REPEATABLE READ
     | READ COMMITTED
     | READ UNCOMMITTED
     | SERIALIZABLE
   }
  • GLOBAL:设置全局的事务隔离级别
  • SESSION:设置当前session的事务隔离级别,如果语句没有指定GLOBAL或SESSION,默认值为SESSION

事务级别:

  • REPEATABLE READ:可重复读
  • READ COMMITTED:提交读
  • READ UNCOMMITTED:未提交读
  • SERIALIZABLE:串行读

使用系统变量设置事务隔离级别

SET GLOBAL tx_isolation='REPEATABLE-READ';
SET SESSION tx_isolation='SERIALIZABLE';