MySQL8查看和设置隔离级别

匿名 (未验证) 提交于 2019-12-02 22:06:11

MySQL8中隔离级别的变量跟之前的版本不一样,之前是tx_isolation,MySQL8改成了transaction_isolation。查看当前隔离级别的命令是

select @@global.transaction_isolation,@@transaction_isolation;

返回结果

+--------------------------------+-------------------------+ | @@global.transaction_isolation | @@transaction_isolation | +--------------------------------+-------------------------+ | READ-COMMITTED                 | REPEATABLE-READ         | +--------------------------------+-------------------------+ 1 row in set (0.00 sec)

mysql的默认隔离级别是可重复读,但其实对高并发业务来说,可重复读并不是最合适的,最合适的是读提交,主要是因为MySQL 5.0之前,MySQL的主从复制在度提交这个隔离级别下是有bug的。

修改MySQL隔离级别命令:
修改全局隔离级别为读提交:

SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

修改会话隔离级别

SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;

注:以上命令可大小写混用

这里要吐槽一下MySQL的命令,感觉比较混乱。比如查询出来的隔离级别是两个单词用短横线连接(READ-COMMITTED),但是设置的时候又是要把两个单词用空格分隔。风格很不统一。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!