mysql事务服务_MySQL (事务篇)
1、事务内,存在两条sql语句,第一条执行成功了,第二条执行失败了,commit之后,什么结果?
结果:第一条执行成功,第二条执行失败,不进行回滚
注意:MySQL 中的回滚,必须人为去做,在PHP 中,我们常常使用 try catch 来进行事务的执行和回滚
考察点:对 MySQL 事务应用的熟练程度
2、在事务执行过程中,如果服务器突然挂掉,MySQL 处理过程及结果?
正常执行事务时,过程是
try{
开启事务
执行sql
提交事务
}catch(\Exception $e){
回滚
}
当开始事务后,每执行一条sql语句,都会对应一条相反的sql语句(insert 对应 delete,update 对应相反 update)写入 undo.log(回滚日志中)。
当事务执行完毕后,会写入一个checkpoint(检查点)到 undo.log 日志中,MySQL 在下次执行事务或者重启MySQL,只会检查最近的checkpoint后面的,checkpoint 之前的说明已经执行成功不需要回滚了。
如果执行过程中,服务器突然挂掉,也就是说,执行了部分sql,不确定提没提交,那么这个时候,重启MySQL 时,MySQL 会检查 undo.log,如果最近的检查点后面有内容,则说明有部分sql执行了,但是没有提交,这时,MySQL 会对数据进行回滚。
并执行redo.log内的sql,进行重做
考察点:MySQL 事务的执行过程,内部是如何实现的
3、MySQL 事务执行流程图
mysql事务服务_MySQL (事务篇)相关推荐
- mysql show 原理_mysql事务的实现原理
此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中 有一个整体的认识,如下图 如上图所示, ...
- mysql ib_logfile 数量_Mysql 事务日志(Ib_logfile)
mysql的innodb中事务日志ib_logfile(0/1) 概念: 事务日志或称redo日志,在mysql中默认以ib_logfile0,ib_logfile1名称存在,可以手工修改参数,调节开 ...
- mysql当时读_Mysql事务以及四中隔离级别实例2以及InnoDB如何解决当时读的幻读问题...
接着上一篇笔记:http://blog.csdn.net/qq_33366229/article/details/78337354 第三级别(重复读): 第二种情况: 也就是基于上一种情况 事务A在事 ...
- mysql如何查看事务日记_Mysql事务和Mysql 日志
事务特性 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节. 2.一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破 ...
- mysql事务概念_MySQL事务的概念
应用场景 生活中,我们往往经常会进行转账操作,转账操作可以分为两部分来完成,转入和转出.只有这两部分都完成了才可以认为是转账成功. 数据库中,这个过程是使用两条语句来完成的,如果其中任意一条语句出现了 ...
- mysql事物 总结_Mysql事务总结
数据库 事务的特性ACID 事务(Transaction)是并发控制的基本单位. 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐 ...
- mysql+nest+嵌套事务_MySQL——事务
事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致状态转换为另一种一致状态. 关键词事务四大特性ACID MySql事务隔离级别 MVCC多版本并发控制实现方 ...
- spring mysql事物级别_mysql事务级别和spring中应用
一.事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...
- mysql 并发性_MySQL 事务
1.什么是事务,为什么需要事务 事务(Transaction)是数据库并发控制的不可分割的基本单位,可以将一系列的数据库操作集合到一个事务中,从总体上来讲这个事务可能会对数据库进行一些变动.事务存在的 ...
最新文章
- 开发人员常用SVN命令
- linux 端口添加地址,linux – 绑定,网络(接口)和多播地址有什么区别?
- Win7下安装配置PHP+Apache+Mysql+PHPMyAdmin环境教程(非集成)
- 装个Redmine真是麻烦啊
- python 面向对象编程 之 上下文管理协议
- 遮罩层中的相对定位与绝对定位(Ajax)
- idea .defaultMessage
- 网页制作小技巧:dl dt dd标签用法
- 同态加密实现数据隐私计算,能让你的小秘密更加秘密
- Deskew Technologies Gig Performer 4 Mac - 现场调音机架
- eclipse导入jsp项目
- cad编程c语言,基于C.NET的AutoCAD二次开发简版.pdf
- java私聊_java Socket实现多人群聊与私聊功能
- Arduino、AB相增量式光电编码器测位移和速度方向
- Java中的Type接口和Class类区别和联系
- 无人驾驶汽车路径规划概述
- Tomcat8.5的安装配置--DevOps学习第一章
- 违章查询接口免费php,基于聚合数据的全国违章直连查询接口示例-PHP版
- C语言时钟信号设计原理,单片机时钟电路原理图
- Intel和AMD 与 x86,ARM,MIPS有什么区别
热门文章
- 6.5 不同类型的数据集
- RGB CMYK HSV LAB
- 科大星云诗社动态20210302
- 威联通服务器显示磁盘为挂载,如何在 QNAP NAS 上使用虚拟磁盘?
- VTK修炼之道60:体绘制_体绘制管线图形渲染管线
- 加快vs2010的启动速度
- SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法
- LM3S1138驱动函数SysCtlPeripheralEnable解析
- 问题总结:判断MS SQLSERVER临时表是否存在 drop table #tempcitys
- 优化的ms sql server分页sql语句