MySQL写数据是先写redo,然后写buffer,最后再落盘的。这就意味着需要一些机制恢复到系统崩溃前的状态。

这里讨论几个场景:

系统崩溃前,没有未提交的事务,数据也落盘了:

不需要恢复(话虽如此,该走的流程还是得走)

事务提交后系统崩溃,数据未落盘:

        我们希望系统可以恢复到事务提交后的状态。我们知道,一般情况下,事务提交时,redo log buffer会强制刷盘。所以系统崩溃后,系统可以通过redo log恢复系统到崩溃前的状态,从而保证了事务持久性。

事务未提交,系统崩溃:

这种情况下,意味着事务失败,我们希望系统可以恢复到事务开始前的状态。但是有可能部分redo log已经落盘了,此时如果通过redo log恢复系统,则会造成出现脏数据的现象。这时就需要undo log发挥作用了。系统会从undo log中找到当前为active的事务ID,即未提交的事务id,把这些事务对应的改动全部回滚掉,从而保证了事务的原子性。

MySQL崩溃后的恢复相关推荐

  1. mapdb java_JVM崩溃后MapDb恢复

    目前我有基于文件从mapDb创建的hashmap . 我正在使用这个 Map 在服务器上本地保存一些数据(我不需要其他服务器来访问这些数据),所以我需要在jvm重启后这些数据可用 . 这非常有效 . ...

  2. compiz把xfce4系统搞崩溃后的恢复方案

    下面这个compiz链接一定记住在测试账户里面去尝试!!! http://www.ubuntubuzz.com/2018/12/enabling-3d-desktop-cube-in-2018.htm ...

  3. 原创 MySQL探秘(八):基于Redo Log和Undo Log的MySQL崩溃恢复流程(一致性)

    黑盒下的更新数据流程 当我们查询数据的时候,会先去Buffer Pool中查询.如果Buffer Pool中不存在,存储引擎会先将数据从磁盘加载到Buffer Pool中,然后将数据返回给客户端:同理 ...

  4. no such file or directory什么意思_为什么这次 MySQL 崩溃恢复要这么久-爱可生

    作者:xuty 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.现象 有个 MySQL 5.7 开发库异常挂掉后,崩溃恢复一直处于如下位置,且持 ...

  5. MySQL 崩溃恢复过程分析

    天有不测风云,数据库有旦夕祸福. 前面写 Redo 日志的文章介绍过,数据库正常运行时,Redo 日志就是个累赘. 现在,终于到了 Redo 日志扬眉吐气,大显身手的时候了. 本文我们一起来看看,My ...

  6. 【分布式事务】面试官问我:MySQL中的XA事务崩溃了如何恢复??

    写在前面 前段时间搭建了一套MySQL分布式数据库集群,数据库节点有12个,用来测试各种分布式事务方案的性能和优缺点.测试MySQL XA事务时,正当测试脚本向数据库中批量插入数据时,强制服务器断电! ...

  7. MySQL数据库的自动备份与数据库被破坏后的恢复

    一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. ...

  8. mysql数据库误删后能恢复吗_MySQL 数据库误删除后的数据恢复

    MySQL 数据库误删除后的数据恢复 MySQL 数据库误删除后的数据恢复 在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失! 然而是 ...

  9. 电脑重装系统后如何恢复Mysql数据库

    原文地址: 电脑重装系统后如何恢复Mysql数据库   http://www.thebigdata.cn/JieJueFangAn/30831.html 电脑重装系统后如何恢复Mysql数据库 [日期 ...

最新文章

  1. 数据通信技术(二:交换机配置管理)
  2. 让产品经理GC的文本段落两端对齐css
  3. mysql设置定位慢查询_mysql优化——定位慢查询
  4. java基本数据类型存储,JAVA - 基本数据类型的存储空间长度
  5. C++ 标准库 vector list map使用方法
  6. get和post的联系与区别
  7. mysql window下 安装udf_最新版MySQL在window平台安装
  8. java简单功能测试,java 自动化测试小功能集锦
  9. 如何让不使用vba没办法打开excel表_Excel常见问题
  10. 【java与智能设备】单选框 复选框 监听事件
  11. VIM总结之一:VIM编辑器常用命令详解
  12. 控制台 钢铁雄心2_钢铁雄心2中共事件代码 | 手游网游页游攻略大全
  13. 多迪技术总监揭秘:UI设计都是用什么软件?
  14. 使用stream给list集合排序
  15. 微信红包架构设计,高并发系统应用实战
  16. fn键台式计算机在哪,fn键在哪里
  17. CVPR2020 Rotate-and-Render: Unsupervised Photorealistic Face Rotation from Single-View Images论文笔记
  18. 案例总结:京东图书信息爬取
  19. TCP/IP网络初识
  20. 【装机】老毛桃的安装及使用教程

热门文章

  1. 传销泛滥地区排行,看看有没有你的家乡!
  2. 上级对下级用通知合适吗_通知书之上级对下级的通知
  3. 探访国内NB-IoT建设样板城市:物联网带来智慧和内涵
  4. springcloud gateway分发服务报302,Network Error
  5. 「SymPy」符号运算(2) 各种形式输出、表达式的化简合并与展开
  6. Android入门第35天-Android里的SubMenu
  7. 霍尼韦尔与中国企业共赢数字发展机遇
  8. 2022年小红书最新Java面试题 - 一面
  9. 小红书2020校招测试开发后端笔试题卷一
  10. 聚宽量化交易-入门篇(海龟交易法则)