MySQL8查看和设置隔离级别

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),但是设置的时候又是要把两个单词用空格分隔。风格很不统一。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章