mysql 终端模拟_mysql客户端模拟脏读、幻读和可重复读
如果操作一下时报出错误:在数据库中执行 SET GLOBAL BINLOG_FORMAT = mixed;
执行后可通过SELECT * FROM information_schema.GLOBAL_VARIABLES WHERE VARIABLE_NAME = ‘BINLOG_FORMAT’ ;进行查看。
通过客户端选择可用数据库:use db_test(模拟数据库)
以下由客户端进行模拟:
1.脏读(read uncommitted):在两个事务中,一个事务读到了另一个事务未提交的数据(即事务A读取到事务B修改数据,当事务B未提交数据到数据库或出错时,事务A再进行读取发现数据已修改。例如:将对象放入缓存未同步到数据库,读取数据从缓存中进行读取).
在两个客户端分别执行
然后执行select @@session.tx_isolation;进行查看
分别开启事务
从上图可以清晰看到,客户端1读取到了客户端2未提交的数据
2.幻读(READ COMMIT):一个事务读取到另一个事务提交的数据(主要表现为某行数据修改–即事务A在操作前先对数据进行读取,事务B对某行数据进行修改,事务A再次读取数据发现数据已不一致)
设置数据库为READ COMMIT级别
然后像上面一样打开事务,执行语句
可以清楚的看到客户端1读到了客户端2事务完成后提交的数据
3.可重复读(REPEATABLE READ):在事务提交前读取到的值始终为同一个,但是如果表中出现数据的增加和删除则读取的结果可能会有偏差(例如:事务A统计大于某行大于100数据,第一次统计为10个,此时事务B向表中插入数据,再次进行统计发现已经不是10个)
然后开启事务,编写sql语句
可以清晰看到客户端1在事务内始终查询到是相同的值
'综上所述:
幻读(READ COMMIT)主要表现为同一张表中某行数据的修改操作;可重复读(REPEATAbLE READ)主要表现为同一张表中数据的添加和删除操作
mysql 终端模拟_mysql客户端模拟脏读、幻读和可重复读相关推荐
- 五分钟了解Mysql脏读、幻读、不可重复读、mvcc
点击上方关注 "终端研发部" 设为"星标",和你一起掌握更多数据库知识 首先对多事务并发的问题的思考 对 innodb引擎执行流程 和 buffer pool ...
- 数据库零碎要点001_数据库的4大特性(原子性_持久性_隔离性_一致性)_数据库的隔离级别(脏读_幻读_不可重复读)_mysql如何设置隔离级别
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务 ...
- 17@MySQL数据库读现象详解(脏读、幻读、不可重复读)
文章目录 MySQL数据库读现象 一.数据库的读现象 1.脏读(dirty read):读取未提交数据 [案列详解] 2.不可重复读取 (nonrepeatable read):前后多次读取,数据内容 ...
- MYSQL专题: 脏读、幻读、不可重复读区别及解决方案
并发场景下事务会存在那些数据问题? 并发场景下mysql会出现脏读.幻读.不可重复读问题: 1. 脏读 dirty read(读到未提交的数据): A事务正在修改数据但未提交,此时B事务去读取此条数据 ...
- mysql不可重复读和重复读_脏读、幻读、不可重复读的区别是什么
脏读.幻读.不可重复读的区别:1.脏读就是指当一个事务正在访问数据,并且对数据进行了修改:2.不可重复读是指在一个事务内,多次读同一数据:3.幻读是指当事务不是独立执行时发生的一种现象. [相关学习推 ...
- mysql幻读和不可重复读的区别_面试官:MySQL的可重复读级别能解决幻读吗
Java面试笔试面经.Java技术每天学习一点 Java面试 关注不迷路 作者:宁愿. 来源:https://juejin.im/post/5c9040e95188252d92095a9e 引言 之前 ...
- 为什么要避免不可重复读_脏读、幻读和不可重复读?为啥?
前言: 一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏.这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性. 例子: 对银行转帐事务,不管事务成功还是失败,应该保证事 ...
- 数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)
一.数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted .Read committed .Repeatable read .Serializable ,这四 ...
- mysql不可重复读是锁的表吗,Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)...
. 例如: 张三的工资为5000,事务A中获取工资为5000,事务B获取工资为5000,汇入100,并提交数据库,工资变为5100, 随后 事务A发生异常,回滚了,恢复张三的工资为5000,这样就导致 ...
- day08 操作索引脏读、幻读、不可重复读 python复习
day08 操作索引脏读.幻读.不可重复读 python复习 昨日内容复习 视图 把sql语句查询结果保存下来,结果就叫视图视图的数据来自于原始表,在硬盘中只有表结构 create view 视图名称 ...
最新文章
- 大年初四,你认为在南方过年和在北方过年最大的不同是什么?
- Python Xml类
- android5.1 init对rc文件解析执行顺序
- MVC核心功能组件和简介
- bugku 杂项 2B
- 洛谷3384(树链剖分模板题)
- P7600-[APIO2021]封闭道路【堆,dp】
- CF908G New Year and Original Order 数位DP
- 相册权限_手机相册太乱?1分钟教你快速管理自己的照片,非常好用!
- 通过Nginx反向代理,实现远程调试本机代码
- Xamarin.Android AlertDialog中的EditText打上去字为什么不显示?也没有光标闪烁
- Android Dialog宽度设置固定大小
- python项目:基于OpenCV的学生网课睡意检测系统
- Unix平台下的常用命令技巧之五 资源与性能
- 日系插画学习笔记(三):光影与结构
- linux下刻录光盘读取不了_如何在Linux下刻录数据光盘
- 苹果授权登录Sign In With Apple亲测通过版[100%成功]
- Vue3项目运行时报错,提示Use // eslint-disable-next-line to ignore the next line.
- 网络显示连接,不能还是上网,找不到DNS怎么办?
- Tesra平台训练数据(没有足够强大的显卡情况下使用云端跑代码)(一)
热门文章
- 中国电网招聘 计算机岗位
- 机器学习算法优缺点改进总结
- Android官方开发文档Training系列课程中文版:Activity测试之创建运行测试
- 【网络搜索】学习资料
- java连接hbase时出现....is accessible from more than one module:
- OpenCV图像或视频显示在VC对话框中的方法
- Silverlight MMORPG网页游戏开发课程(Game Lesson):目录
- 异步复位设计中的亚稳态问题及其解决方案
- 于.net开发平台项目案例集锦
- Leetcode--152. 乘积最大子序列