innobackupex备份和恢复原理
2016-05-30 19:46
239 查看
innobackupex备份和恢复原理
备份原理:
1.找到redolog中最后一个checkpoint的lsn,从这个lsn开始记录所有新的redolog
2.cpinnodb数据
3.flush tables with read lock (加全局锁)
4.复制所有myisam表和所有表的表结构文件
5.锁定binlog文件
6.记录当前的binlogfile和pos
恢复原理:
innobackupex --apply-log --redo-only
innobackupex恢复和mysql系统崩溃的原理一样,通过比对页的lsn和日志中的lsn大小来完成的.
mysql崩溃后的数据恢复流程。
通过查找日志最后一次checkpoint的位置取出这个lsn之后的所有日志,然后比对lsn值与页面的lsn的大小,
如果页面的lsn小于当前的lsn就恢复该页面
innobackupex --apply-log --redo-only
innobackupex恢复:
在应用日志阶段(apply-log),会比对数据页面和日志中lsn值,如果lsn日志的值比数据页面的lsn大,
就应用该条日志。
redo-only:只前滚已提交的事务,忽略未提交的事务日志。
记得又一次做数据恢复的时候 ,使用innobackupex , 在最后一次备份合并的过程中使用redo-only参数,
导致mysql无法启动(有的时候可以启动)。
具体原因分析如下:
这时page的lsn大于redo日志中最大的lsn,也就是page的lsn在redo中找不到的lsn,所以他会提示日志丢失,或者日志文件被
损坏,实际上日志文件没有被损坏,。mysql需要这部分日志来回滚事务,但是这部分日志存在于xtracback_logfile中,
,xtracback_logfile mysql无法识别获取不到日志。
innobackupex的使用方法:
/article/7211883.html
本文出自 “SQLServer MySQL” 博客,转载请与作者联系!
备份原理:
1.找到redolog中最后一个checkpoint的lsn,从这个lsn开始记录所有新的redolog
2.cpinnodb数据
3.flush tables with read lock (加全局锁)
4.复制所有myisam表和所有表的表结构文件
5.锁定binlog文件
6.记录当前的binlogfile和pos
恢复原理:
innobackupex --apply-log --redo-only
innobackupex恢复和mysql系统崩溃的原理一样,通过比对页的lsn和日志中的lsn大小来完成的.
mysql崩溃后的数据恢复流程。
通过查找日志最后一次checkpoint的位置取出这个lsn之后的所有日志,然后比对lsn值与页面的lsn的大小,
如果页面的lsn小于当前的lsn就恢复该页面
innobackupex --apply-log --redo-only
innobackupex恢复:
在应用日志阶段(apply-log),会比对数据页面和日志中lsn值,如果lsn日志的值比数据页面的lsn大,
就应用该条日志。
redo-only:只前滚已提交的事务,忽略未提交的事务日志。
记得又一次做数据恢复的时候 ,使用innobackupex , 在最后一次备份合并的过程中使用redo-only参数,
导致mysql无法启动(有的时候可以启动)。
具体原因分析如下:
这时page的lsn大于redo日志中最大的lsn,也就是page的lsn在redo中找不到的lsn,所以他会提示日志丢失,或者日志文件被
损坏,实际上日志文件没有被损坏,。mysql需要这部分日志来回滚事务,但是这部分日志存在于xtracback_logfile中,
,xtracback_logfile mysql无法识别获取不到日志。
innobackupex的使用方法:
/article/7211883.html
本文出自 “SQLServer MySQL” 博客,转载请与作者联系!
相关文章推荐
- Easy-题目5:237. Delete Node in a Linked List
- 【NOIP2013模拟】归途与征程
- 第二次冲刺周期站立会议(4)
- Android 在内部存储读写文件
- .net 垃圾回收 工作站与服务器区别
- XenServer6 虚拟机多vCPU配置方法
- Easy-题目4:226. Invert Binary Tree
- 机器学习--代码的终结者,我们很快就能像调教狗一样来调教我们的计算机
- spark实现uv统计(使用内置函数)
- activiti 排他网管 :判断流程走向(十四)
- 职业生涯思考
- Easy-题目3:104. Maximum Depth of Binary Tree
- openstack policy 鉴权过程分析
- ArcGis中在属性表中显示经纬并且导出
- Debug之路-1
- 前端面试题
- private protected internal public 关键字的用法
- struts2验证规则validation配置文件命名方式总结
- 使用PyCharm进行Python远程调试
- Windows中如何修改Intel网卡的注册表使Wireshark可以抓取802.1q tag包