前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >xtrabackup备份的几个细节

xtrabackup备份的几个细节

作者头像
AsiaYe
发布2020-02-18 12:46:21
5130
发布2020-02-18 12:46:21
举报
文章被收录于专栏:DBA随笔

//

xtrabackup备份的几个细节

//

这个周依旧没有上班,处于在家办公状态,发现在家还挺忙的,要自己做饭,洗碗,烧水,巴拉巴拉,一大堆事情~搞得还挺忙的。

今天在测试xtrabackup的一些细节部分,这里罗列几点很细节的地方,希望对大家有点帮助吧。

1、在使用xtrabackup进行备份的时候,有时候需要输入--host参数,但是习惯了mysql的写法,总是会将--host=127.0.0.1写成简写:-h127.0.0.1,今天就吃了个亏,在innobackupex中,--host的简写是-H,而不是-h,这一点在帮助里面可以看到。如下:

2、这个可能就更坑了,在某一次进行增量备份的时候,我写的命令如下:innobackupex -uxxx -pxxx -Hxxx --incremetal --incremetal-basedir=/xxx/xxx/xxx /xxx/xxx

可以看出来,这是增量备份的写法,但是其中--incremetal写错了,应该是--incremental,少写了个n,但是问题是innobackupex这个工具并没有检测出来这个是个错误的写法,在导致恢复的时候出现了问题,增量数据丢失了。查看备份文件xtrabackup_checkpoint可以看到:

备份类型居然是full-backuped,可以看到,这个备份是变成了一个全量备份。这样,在恢复的时候,就不会得到我们想要的结果了。这一点也请大家注意。

3、在使用innobackupex的时候,后面如果跟了--defaults-file参数,那么即使你的配置文件中有socket变量,后续如果使用本地socket连接的时候,也需要重新加上socket,否则备份的时候回提示错误。简单讲就是:

错误写法:

innobackupex --defaults-file=/xxx/ /xxx/xxx

正确写法:

innobackupex --defaults-file=/xxx/ --socket=/xxx /xxx/xxx

4、我们知道,可以在增量备份的基础上继续进行增量备份,在多次增量备份之后,如果我们需要使用最后一次的增量备份进行数据恢复,则需要对全量备份和之前的增量备份做apply-log的操作,在操作的过程中,需要加上--redo-only参数。

简单讲,prepare阶段会变成以下几步:

4.1、在全量备份(非最后一个增量备份)基础上进行:

innobackupex --apply-log --redo-only base_dir

4.2、在增量备份上进行:

innobackupex --apply-log --redo-only --incremental-dir=/path/incremetal_dir base_dir

4.3、在最后一个增量备份上进行:

innobackupex --apply-log --incremental-dir=/path/incremetal_dir base_dir

至此,我们可以用base_dir来恢复出来所有的数据。

在家工作,有诸多不便,效率也比较低,就这么多吧。

希望疫情快点过去,恢复正常的工作生活。

今天在网上看到的一个段子,感觉写的还挺好,摘抄一下,大家也看看.

己亥末,庚子春,荆楚大疫,染者数万,众惶恐,举国防,皆闭户,道无车舟,万巷空寂。然外狼亦动,垂涎而侯,华夏腹背芒刺。幸龙魂不死,风雨而立,医无私,警无畏,民齐心。

政者,医者,兵者,扛鼎逆行勇战矣。商客,名家,百姓,仁义者,邻邦献物捐资。叹山川异域,风月同天,岂曰无衣,与子同裳,能者竭力,万民同心。

月余,疫除,终胜。

此后百年,风调雨顺,国泰民安。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档