mysql5.x和mysql8.x查看和设置隔离级别

MySQL的隔离级别

级别标志描述
读未提交READ-UNCOMMITTED0存在脏读、不可重复读、幻读的问题
读已提交READ-COMMITTED1解决脏读的问题,存在不可重复读、幻读的问题
可重复读REPEATABLE-READ2mysql 默认级别,解决脏读、不可重复读的问题,存在幻读的问题
序列化SERIALIZABLE3解决脏读、不可重复读、幻读,可保证事务安全,但完全串行执行,性能最低
(PNG Image, 1117 × 587 pixels).png

我们可以通过以下命令 查看/设置 全局/会话 的事务隔离级别

mysql5.x
SELECT @@global.tx_isolation, @@tx_isolation;
one.PNG
mysql8.x
SELECT @@global.transaction_isolation, @@transaction_isolation;
two.PNG

mysql5.x修改回话隔离级别(才可以操作数据表的)

SET tx_isolation = 0;
set  @@session.tx_isolation = 0;
SET tx_isolation = 'READ-UNCOMMITTED';
set  @@session.tx_isolation = 'READ-UNCOMMITTED';

SET tx_isolation = 1;
set  @@session.tx_isolation = 1;
SET tx_isolation = 'READ-COMMITTED';
set  @@session.tx_isolation = 'READ-COMMITTED';

SET tx_isolation = 2;
set  @@session.tx_isolation = 2;
SET tx_isolation = 'REPEATABLE-READ';
set  @@session.tx_isolation = 'REPEATABLE-READ';

SET tx_isolation = 3;
set  @@session.tx_isolation = 3;
SET tx_isolation = 'SERIALIZABLE';
set  @@session.tx_isolation = 'SERIALIZABLE';

mysql8.x修改回话隔离级别(才可以操作数据表的)

SET transaction_isolation = 0;
set  @@session.transaction_isolation = 0;
SET transaction_isolation = 'READ-UNCOMMITTED';
set  @@session.transaction_isolation = 'READ-UNCOMMITTED';

SET transaction_isolation = 1;
set  @@session.transaction_isolation = 1;
SET transaction_isolation = 'READ-COMMITTED';
set  @@session.transaction_isolation  = 'READ-COMMITTED';

SET transaction_isolation = 2;
set  @@session.transaction_isolation = 2;
SET transaction_isolation = 'REPEATABLE-READ';
set  @@session.transaction_isolation = 'REPEATABLE-READ';

SET transaction_isolation = 3;
set  @@session.transaction_isolation = 3;
SET transaction_isolation = 'SERIALIZABLE';
set  @@session.transaction_isolation = 'SERIALIZABLE';


喜欢的朋友记得点赞、收藏、关注哦!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值