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 (事务篇)相关推荐

  1. mysql show 原理_mysql事务的实现原理

    此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中  有一个整体的认识,如下图 如上图所示, ...

  2. mysql ib_logfile 数量_Mysql 事务日志(Ib_logfile)

    mysql的innodb中事务日志ib_logfile(0/1) 概念: 事务日志或称redo日志,在mysql中默认以ib_logfile0,ib_logfile1名称存在,可以手工修改参数,调节开 ...

  3. mysql当时读_Mysql事务以及四中隔离级别实例2以及InnoDB如何解决当时读的幻读问题...

    接着上一篇笔记:http://blog.csdn.net/qq_33366229/article/details/78337354 第三级别(重复读): 第二种情况: 也就是基于上一种情况 事务A在事 ...

  4. mysql如何查看事务日记_Mysql事务和Mysql 日志

    事务特性 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节. 2.一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破 ...

  5. mysql事务概念_MySQL事务的概念

    应用场景 生活中,我们往往经常会进行转账操作,转账操作可以分为两部分来完成,转入和转出.只有这两部分都完成了才可以认为是转账成功. 数据库中,这个过程是使用两条语句来完成的,如果其中任意一条语句出现了 ...

  6. mysql事物 总结_Mysql事务总结

    数据库 事务的特性ACID 事务(Transaction)是并发控制的基本单位. 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐 ...

  7. mysql+nest+嵌套事务_MySQL——事务

    事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致状态转换为另一种一致状态. 关键词事务四大特性ACID MySql事务隔离级别 MVCC多版本并发控制实现方 ...

  8. spring mysql事物级别_mysql事务级别和spring中应用

    一.事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...

  9. mysql 并发性_MySQL 事务

    1.什么是事务,为什么需要事务 事务(Transaction)是数据库并发控制的不可分割的基本单位,可以将一系列的数据库操作集合到一个事务中,从总体上来讲这个事务可能会对数据库进行一些变动.事务存在的 ...

最新文章

  1. 开发人员常用SVN命令
  2. linux 端口添加地址,linux – 绑定,网络(接口)和多播地址有什么区别?
  3. Win7下安装配置PHP+Apache+Mysql+PHPMyAdmin环境教程(非集成)
  4. 装个Redmine真是麻烦啊
  5. python 面向对象编程 之 上下文管理协议
  6. 遮罩层中的相对定位与绝对定位(Ajax)
  7. idea .defaultMessage
  8. 网页制作小技巧:dl dt dd标签用法
  9. 同态加密实现数据隐私计算,能让你的小秘密更加秘密
  10. Deskew Technologies Gig Performer 4 Mac - 现场调音机架
  11. eclipse导入jsp项目
  12. cad编程c语言,基于C.NET的AutoCAD二次开发简版.pdf
  13. java私聊_java Socket实现多人群聊与私聊功能
  14. Arduino、AB相增量式光电编码器测位移和速度方向
  15. Java中的Type接口和Class类区别和联系
  16. 无人驾驶汽车路径规划概述
  17. Tomcat8.5的安装配置--DevOps学习第一章
  18. 违章查询接口免费php,基于聚合数据的全国违章直连查询接口示例-PHP版
  19. C语言时钟信号设计原理,单片机时钟电路原理图
  20. Intel和AMD 与 x86,ARM,MIPS有什么区别

热门文章

  1. 6.5 不同类型的数据集
  2. RGB CMYK HSV LAB
  3. 科大星云诗社动态20210302
  4. 威联通服务器显示磁盘为挂载,如何在 QNAP NAS 上使用虚拟磁盘?
  5. VTK修炼之道60:体绘制_体绘制管线图形渲染管线
  6. 加快vs2010的启动速度
  7. SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法
  8. LM3S1138驱动函数SysCtlPeripheralEnable解析
  9. 问题总结:判断MS SQLSERVER临时表是否存在 drop table #tempcitys
  10. 优化的ms sql server分页sql语句