xtrabackup 备份为什么要--prepare,增量合并的时候为什么需要--apply-log-only 呢?

2017-07-04 14:54:11 +08:00
 pythonee
--prepare 主要是做什么动作?我只找到这么一句话
"because they were copied at different times as the program ran, and they might have been changed while this was happening. If you try to start InnoDB with these data files, it will detect corruption and crash itself to prevent you from running on damaged data."

意思是说,全量备份完成时,整个备份集是不可用的,为什么不可用呢?

--apply-log-only 应该是为了保留未提交的事务,因为有可能在下一次增量的时候,进行提交,按这种逻辑,应该最后一次增量也需要做这个动作,为什么文档建议最后一次增量合并不加这个参数呢
3090 次点击
所在节点    MySQL
3 条回复
julyclyde
2017-07-05 07:36:43 +08:00
因为没 apply log 所以不可用
pythonee
2017-07-05 10:03:47 +08:00
@julyclyde 嗯,我的疑问是为什么没有建议最后一次增量备份也用这个参数呢,这个参数是为了防止增量备份合并的时候回滚事务,还是在增量合并的时候回滚事务呢
auroracxy
2018-09-07 15:03:19 +08:00
@pythonee 我的理解是:最后一次"准备"操作可以不用跳过回滚操作,这样用来恢复的数据文件本地就处理好了,当服务启动后就不会再进入到回滚阶段,如果最后一次使用了这个参数,服务器启动后将进入回滚阶段。所以这个--apply-log-only 只是用来合并增量用的避免下一个增量不可用。 参见 man xtrabackup

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/372950

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX