在《通过实例让你真正理解数据库中的事务隔离级别》里我们彻底了解事务隔离级别,本节将教会你各种操作对事务隔离级别进行查改:
一张表格教会你查看事务隔离级别:
查看目标 | 命令 (MySQL 5.7) | 命令 (MySQL 8.0+) | 通用推荐命令 | 说明 |
---|---|---|---|---|
当前会话隔离级别 | SELECT @@tx_isolation; | SELECT @@transaction_isolation; | SHOW VARIABLES LIKE '%isolation%'; | 查看当前连接实际使用的事务隔离级别 |
全局隔离级别 | SELECT @@global.tx_isolation; | SELECT @@global.transaction_isolation; | SHOW GLOBAL VARIABLES LIKE '%isolation%'; | 查看全局默认设置,新建立的连接会继承此级别 |
在 MySQL 5.7 及更早版本中,变量名称为 tx_isolation。从 MySQL 8.0 开始,变量名更改为 transaction_isolation。为了兼容,可以使用模糊查询 %isolation%
一张表格教会你临时修改事务隔离级别:
特性 | 修改当前会话 (SESSION) | 修改全局设置 (GLOBAL) |
---|---|---|
命令语法 | SET SESSION TRANSACTION ISOLATION LEVEL <级别>; 或 SET TRANSACTION ISOLATION LEVEL <级别>; | SET GLOBAL TRANSACTION ISOLATION LEVEL <级别>; |
典型应用场景 | 当前连接需要进行特殊的数据操作,需要临时改变隔离级别 | 调整整个数据库实例的默认隔离级别策略 |
那么如何永久修改事务隔离级别呢?
找到配置文件my.ini,然后再找到
[mysqld]transaction-isolation = READ-COMMITTED
从新赋值即可。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程