加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.92zhanzhang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql 5.5崩溃恢复的原理是哪些

发布时间:2021-12-16 09:53:58 所属栏目:MySql教程 来源:互联网
导读:本篇内容主要讲解Mysql 5.5崩溃恢复的原理是什么,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Mysql 5.5崩溃恢复的原理是什么吧! 首先来了解一个崩溃恢复的原理 : 崩溃恢复(Crash recovery)可以看成两个阶
本篇内容主要讲解“Mysql 5.5崩溃恢复的原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql 5.5崩溃恢复的原理是什么”吧!
 
首先来了解一个崩溃恢复的原理 :
 
崩溃恢复(Crash recovery)可以看成两个阶段,
 第一阶段称为扫描重做日志(Redo scan),这时InnoDB读取磁盘上的Redo Log,并将其存放到一个Hash表中;
 第二阶段应用这些Redo Log,将这些日志应用到Data Page上。
 
 恢复过程中,另一个耗时的操作是发生在应用Redo的阶段。
 每一个应用了Redo Log的Data Page都会被放到一个叫Flush_list的链表中等待Flush,
 而这个链表中的Data Page是严格安装其LSN顺序排列的,
 在InnoDB正常工作的时候,这总是没有问题的,因为Data Page的LSN值总是单调增加的。
 但是在恢复阶段,InnoDB则需要不断的扫描这整个链表来确定一个Data Page的位置。
 
测试结果;
 
 在InnoDB Blog中,给出了一个测试:
     Plugin1.0.6花费7小时38分钟恢复的过程,
     使用Plugin1.0.7则仅仅花了13分56秒,总共快了32倍,
     其中扫描Redo阶段快了16倍,应用日志阶段快了35倍。
 
  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崩溃恢复的原理是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!