首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于SSH的Innobackupex恢复

基于SSH的Innobackupex恢复
EN

Stack Overflow用户
提问于 2018-06-18 12:09:33
回答 1查看 775关注 0票数 0

我使用Percona的xtrabackup定期进行MySQL备份,使用我在网上找到的命令(我没有深入数据库,也没有深入到它们的工具中):

代码语言:javascript
复制
innobackupex --user=XXXX --password=XXXX --stream=tar ./ | sshpass -p XXXX ssh root@192.168.XX.XX "cat - > /var/lib/mysql_backups/name.tar"

现在,备份文件是85 as,它已经成为每天的完整备份。我需要在崩溃后恢复DB,但它不起作用。

我在tar文件中观察(使用tar -tif name.tar),并读取所有文件名列表。

1)使用--move-back从本地TAR恢复DB的正常方法是如何对所有位置进行解压缩,而不使用磁盘上的额外空间?

或者是否有可能(如果选项1不可用)从远程TAR恢复备份,从而逆转使用innobackupex远程备份中描述的过程?我试过多次,但找不到正确的选择。

我在2012年的一篇文章中找到了一个选项--remote-host,但是在我的1.5.1版本中,这个选项缺失了……

3)作为streamed=tar,在恢复之前我如何准备(如果必要的话) tar?

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 15:30:17

关于你的问题:

1)从本地TAR恢复DB的正常方法是如何使用--向后移动--将所有内容解压到位,而不使用磁盘上的额外空间?

您可以使用下面的命令行提取文件并将输出输送到目标服务器:

# Execute the command where the backup is located ssh <user>@<mysql_server> "cd <datadir> && tar -xvv" < backup.tar

使用此方法,您将避免解压缩和复制所需的额外空间。接下来,您需要准备备份,这是您的问题3:

3)作为streamed=tar,在恢复之前我如何准备(如果必要的话) tar?

$ xtrabackup --prepare --target-dir=./<datadir>

或使用innobackupex

$ innobackupex --apply-log ./<datadir>

注意,最后,如果操作成功完成,您将看到以下消息:

InnoDB: Shutdown completed; log sequence number 9059880 180618 11:05:22 completed OK!

然后MySQL就可以开始了。

有关这些链接的更多信息可以找到:

使用xtrabackup准备备份

流和压缩备份

用innobackupex准备备份

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50909223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档