查看数据库隔离级别,mysql

查看数据库隔离级别,mysql1.查看当前会话隔离级别select@@tx_isolation;2.查看系统当前隔离级别select@@global.tx_isolation;3.设置当前会话隔离级别setsessiontransactionisolatinlevelrepeatableread;4.设置系统当前隔离级别setglobaltransac…

大家好,又见面了,我是你们的朋友全栈君。1.查看当前会话隔离级别

select @@tx_isolation;

2.查看系统当前隔离级别

select @@global.tx_isolation;

3.设置当前会话隔离级别

set session transaction isolatin level repeatable read;

4.设置系统当前隔离级别

set global transaction isolation level repeatable read;

5.命令行,开始事务时

set autocommit=off 或者 start transaction

关于隔离级别的理解

1.read uncommitted

可以看到未提交的数据(脏读),举个例子:别人说的话你都相信了,但是可能他只是说说,并不实际做。

2.read committed

读取提交的数据。但是,可能多次读取的数据结果不一致(不可重复读,幻读)。用读写的观点就是:读取的行数据,可以写。

3.repeatable read(MySQL默认隔离级别)

可以重复读取,但有幻读。读写观点:读取的数据行不可写,但是可以往表中新增数据。在MySQL中,其他事务新增的数据,看不到,不会产生幻读。采用多版本并发控制(MVCC)机制解决幻读问题。

4.serializable

可读,不可写。像java中的锁,写数据必须等待另一个事务结束。

想要理解这四个级别,还需要知道三种不讨人喜欢的事情:

dirty reads:脏读,就是说事务A未提交的数据被事务B读走,如果事务A失败回滚,将导致B所读取的数据是错误的。

non-repeatable reads:不可重复读,就是说事务A中两处读取数据,第一次读时是100,然后事务B把值改成了200,事务A再读一次,结果就发现值变了,造成A事务数据混乱。

phantom read:幻读,和不可重复读相似,也是同一个事务中多次读不一致的问题。但是不可重复读的不一致是因为它所要取的数据集被改变了,而幻读所要读的数据不一致却不是他所要读的数据改变,而是它的条件数据集改变。比如:Select id where name=”ppgogo*”,第一次读去了6个符合条件的id,第二次读时,由于事务B把第一个贴的名字由”dd”改成了“ppgogo9”,结果取出来7个数据。

而事务的隔离级别会导致读取到非法数据的情况如下表示:

[img]http://dl2.iteye.com/upload/attachment/0114/8497/fe3ef6c3-2c98-3d4b-81f4-bc5821e8e9ec.png[/img]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141952.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 简述TCP四次挥手

    简述TCP四次挥手四次握手主要用到了两个标志位(ACK&FIN):ACK示意参考:TCP三次握手FIN:终止数据传输标志位—->当FIN为1的时候代表此数据为终止断开连接的请求四次挥手流程:由于TCP连接是双向传输的对等的模式即双工wiki百科定义:全双工(full-duplex)的系统允许二台设备间同时进行双向资料传输。全双工的系统可以用复线铁路类比。两个方向的车辆因使用不同的轨道,因此不会互相影响。一般的电话、手机就是全双工的系统,因为在讲话时同时也可以听到对方的声音意思是说

    2022年5月29日
  • 爬虫(2)之re 爬取淘宝网「建议收藏」

    爬虫(2)之re 爬取淘宝网「建议收藏」我们通过requests可以很轻松地就获得网页上的所有内容,但是这些内容往往会夹杂着许多我们不需要的东西,因此我们需要解析和提取HTML数据。在先前介绍过的解析和提取html内容的库,只能够处理静态文本执行简单的搜索,缺乏灵活性,不能处理动态的文本信息。下面来介绍一下正则表达式。什么是正则表达式?正则表达式是用来简洁表达一组字符串的表达式正则表达式是一种通用的字符串表达框架正则表…

    2022年6月18日
  • Option 82在校园网的应用与实现(转)[通俗易懂]

    Option 82在校园网的应用与实现(转)[通俗易懂]作者:南京政治学院上海分院教育技术中心陈晓晖经过近几年的建设,各高校大体完成了校园网基础环境建设,将建设重点逐步转移到信息资源与应用服务上,校园网的安全也越来越受重视,迫使网络管理员比以往更加需要在加强网络安全和便于使用之间找到一个平衡点。笔者认为在具备802.1x认证的硬件条件下,引入Option82构建一个权限分配清晰的校园网是一项可行的措施。 DHCPOption82说明和关键点

    2022年9月25日
  • Wireshark数据抓包分析之FTP协议

    Wireshark数据抓包分析之FTP协议实验步骤一  配置FTP服务器,并在测试者机器上登录FTP服务器在局域网环境中,我们使用一个小工具来(QuickEasyFTPServer)实现FTP服务器。配置QuickEasyFTPServer 软件双击桌面的QuickEasyFTPServer,如下图如上图,可以创建匿名的,但是匿名就没有密码,这里我们创建一个,下一步输入密码,这里随意,记住即可,后面客户端登录会用到。下一…

    2022年6月22日
  • 微信小程序:商城系列专辑(开发指南+精品Demo)

    微信小程序:商城系列专辑(开发指南+精品Demo)2019独角兽企业重金招聘Python工程师标准>>>…

    2022年6月21日
  • SSRF漏洞学习

    SSRF漏洞学习SSRF漏洞原理SSRF(Server-SideRequestForgery:服务器端请求伪造)是一个由攻击者构造请求,在目标服务端执行的一个安全漏洞。攻击者可以利用该漏洞使服务器端向攻击者构造的任意域发出请求,目标通常是从外网无法访问的内部系统。简而言之就是以服务器的身份来执行请求。常见利用方式伪协议读取文件伪协议读取文件,在SSRF中常用的伪协议就是file:///协议/?url=file:///var/www/html/flag.php内网访问我们从目标主机内

    2022年6月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号