返回顶部
首页 > 资讯 > 数据库 >Mysql 5.5崩溃恢复的原理是什么
  • 259
分享到

Mysql 5.5崩溃恢复的原理是什么

2024-04-02 19:04:59 259人浏览 独家记忆
摘要

本篇内容主要讲解“Mysql 5.5崩溃恢复的原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql 5.5崩溃恢复的原理是什么”吧!

本篇内容主要讲解“Mysql 5.5崩溃恢复的原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习mysql 5.5崩溃恢复的原理是什么”吧!

如果你拥有一个很大的内存,那么在享受性能的同时,你也享受着CRASH时,恢复时漫长等待的痛苦。
这个情况在MYsql 5.5,InnoDB Plugin 1.0.7以后将有所改变

首先来了解一个崩溃恢复的原理 :

崩溃恢复(Crash recovery)可以看成两个阶段,
 第一阶段称为扫描重做日志(Redo scan),这时InnoDB读取磁盘上的Redo Log,并将其存放到一个Hash表中;
 第二阶段应用这些Redo Log,将这些日志应用到Data Page上。

 在将Redo Log读取到Buffer Pool的Hash表的过程中,InnoDB在需要的时候分配16K的Block用来存储这个这些Redo。
 为了确保Buffer Pool中有足够剩余空间来存储数据页(Data Page),这样如果Redo很大的话,这个Block heap也会很大。
 这里InnoDB每次读取一个Redo的时候,都会遍历一次前面的Heap来确保,没有占用太多的空间。
 所以,如果崩溃前InnoDB的Buffer Pool很大,Dirty Page很多,这个Heap可能很大,每次遍历就会大大降低恢复时的效率。

 InnoDB通过给这个Heap增加一个header来存储这些信息,解决了上面的问题。
 
 恢复过程中,另一个耗时的操作是发生在应用Redo的阶段。
 每一个应用了Redo Log的Data Page都会被放到一个叫Flush_list的链表中等待Flush,
 而这个链表中的Data Page是严格安装其LSN顺序排列的,
 在InnoDB正常工作的时候,这总是没有问题的,因为Data Page的LSN值总是单调增加的。
 但是在恢复阶段,InnoDB则需要不断的扫描这整个链表来确定一个Data Page的位置。

 InnoDB在恢复阶段,通过一棵辅助的红黑树(Red-Black Tree)来存储这些Page,借此来避免单纯的扫描。
 在恢复阶段结束后,这棵红黑树将被删除,Flush_list仍然保持原来的结构。

测试结果;

 在InnoDB Blog中,给出了一个测试:
     Plugin1.0.6花费7小时38分钟恢复的过程,
     使用Plugin1.0.7则仅仅花了13分56秒,总共快了32倍,
     其中扫描Redo阶段快了16倍,应用日志阶段快了35倍。
  以下是原文:
  configuration parameters:
  –innodb-buffer-pool-size=18g
  –innodb-log-file-size=2047m
  –innodb-adaptive-flushing=0
  –innodb-io-capacity=100

  The latter two are used to throttle flushing in order to maximize the number of dirty pages.
  It took only about 20 min of running a workload to arrive to the test dataset, including cache prewarming.
  So at time of crash we had:
  Modified db pages  1007907
  Redo bytes: 3050455773
  And the recovery times were:
   Plugin 1.0.7 (also Plugin 1.1): 1m52s scan, 12m04s apply, total 13m56s
   Plugin 1.0.6: 31m39s scan, 7h06m21s apply, total 7h48m
   1.0.7 (and Plugin 1.1) is better 16.95x on scan, 35.33x on apply, 32.87x overall

到此,相信大家对“Mysql 5.5崩溃恢复的原理是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql 5.5崩溃恢复的原理是什么

本文链接: https://lsjlt.com/news/69414.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mysql 5.5崩溃恢复的原理是什么
    本篇内容主要讲解“Mysql 5.5崩溃恢复的原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql 5.5崩溃恢复的原理是什么”吧! ...
    99+
    2024-04-02
  • Oracle崩溃恢复原理是什么
    本篇内容主要讲解“Oracle崩溃恢复原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle崩溃恢复原理是什么”吧!1. 应用场景当数据...
    99+
    2024-04-02
  • Linux内核崩溃崩溃的原因是什么
    今天就跟大家聊聊有关Linux内核崩溃崩溃的原因是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 原理Linux内核发送崩溃时,kdump会生成一个内核转储文件vmco...
    99+
    2023-06-15
  • 线程崩溃不会导致JVM崩溃的原因是什么
    本文小编为大家详细介绍“线程崩溃不会导致JVM崩溃的原因是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“线程崩溃不会导致JVM崩溃的原因是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。线程崩溃,进程一定...
    99+
    2023-07-02
  • EXCEPTION_ACCESS_VIOLATION 崩溃的可能原因是什么
    EXCEPTION_ACCESS_VIOLATION 异常通常是由程序尝试访问未分配或受保护的内存区域引起的。可能的原因包括:1. ...
    99+
    2023-09-27
    崩溃
  • APP崩溃的主要原因是什么
    这篇文章跟大家分析一下“APP崩溃的主要原因是什么”。内容详细易懂,对“APP崩溃的主要原因是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“APP崩溃的主要原因是什么”的知识...
    99+
    2023-06-04
  • EMC存储崩溃raid离线恢复数据方法是什么
    EMC存储崩溃raid离线恢复数据方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Riad数据恢复故障概述某公司的一台存储挂载了raid5磁盘阵列,正常...
    99+
    2023-06-05
  • 服务器系统崩溃的原因是什么
    服务器系统崩溃的原因:1、网站服务器的网站访问量突出暴增,超出服务器承受能力导致;2、网站服务器自身硬件配置空间不足导致;3、网站服务器的连接数量超载导致;4、网站服务器遭受黑客入侵或网络恶意攻击破坏导致。具体内容如下:访问峰值或请求超过服...
    99+
    2024-04-02
  • App崩溃的6个常见原因是什么
    这篇文章主要为大家分析了App崩溃的6个常见原因是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“App崩溃的6个常见原因是什么”的知识吧。人们讨厌应用程...
    99+
    2023-06-04
  • 网站服务器崩溃是什么原因
    网站服务器崩溃的原因:1、网站服务器的网站访问量突出暴增,超出服务器承受能力导致;2、网站服务器自身硬件配置空间不足导致;3、网站服务器的连接数量超载导致;4、网站服务器遭受黑客入侵或网络恶意攻击破坏导致。具体内容如下:访问峰值或请求超过服...
    99+
    2024-04-02
  • 基于Redo Log和Undo Log的MySQL崩溃恢复解析
    目录MySQL崩溃恢复流程 1、黑盒下的更新数据流程 2、Redo Log & Undo Log3、实现日志后的更新流程3、流程中仍然存在的问题4、基于2PC的一致性保障5、...
    99+
    2024-04-02
  • MySQL数据库崩溃的常见原因和解决方法是什么
    这篇“MySQL数据库崩溃的常见原因和解决方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL数据库崩溃的常见...
    99+
    2023-07-05
  • win10游戏崩溃的原因及解决方法是什么
    Win10游戏崩溃的原因可能有很多,包括以下几点:1. 硬件问题:游戏过于占用系统资源,导致硬件性能不足而崩溃。解决方法:升级硬件,...
    99+
    2023-08-30
    win10
  • Xtrabackup备份恢复原理是什么
    这篇文章给大家介绍Xtrabackup备份恢复原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 一、Xtrabackup备份恢复原理 &n...
    99+
    2024-04-02
  • 香港阿里云服务器崩溃原因是什么
    近期,香港阿里云服务器出现了崩溃的情况,导致了一些用户的网站无法正常访问。据了解,这次崩溃的原因是由于服务器硬件故障所导致的。 具体来说,阿里云香港服务器的硬件出现了故障,导致了服务器无法正常运行。这种硬件故障可能是由于服务器的硬件老化、...
    99+
    2023-10-26
    阿里 香港 原因
  • tomcat崩溃排查的方法是什么
    排查Tomcat崩溃的方法包括以下几个步骤:1. 查看日志文件:首先,查看Tomcat的日志文件,通常位于Tomcat安装目录下的l...
    99+
    2023-09-16
    tomcat
  • 香港阿里云服务器崩溃原因是什么呢
    阿里云作为一家提供云计算服务的公司,在香港的业务一直以来都备受关注。由于香港的地理位置比较特殊,其云计算服务面对的用户群体也相对较少,这就导致阿里云的服务器出现故障的情况相对较少。但是,在这个突发事件中,香港的阿里云服务器崩溃事件也引起了广...
    99+
    2023-10-28
    阿里 香港 什么呢
  • mysql复制的原理是什么
    今天就跟大家聊聊有关mysql复制的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1 复制概述   &nbs...
    99+
    2024-04-02
  • Oracle备份恢复中热备份恢复及异机恢复的原理是什么
    Oracle备份恢复中热备份恢复及异机恢复的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Oracle备份恢复之热备份恢复及异机...
    99+
    2024-04-02
  • 香港阿里云服务器崩溃原因是什么意思
    1. 阿里云服务器崩溃原因的意义 阿里云服务器崩溃原因是指导致阿里云服务器无法正常运行或停止工作的根本原因。了解服务器崩溃的原因对于维护和管理服务器的人员至关重要。通过分析崩溃原因,可以采取相应的措施来修复服务器问题,提高服务器的稳定性和...
    99+
    2023-10-27
    阿里 香港 原因
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作