Innobackupex从SSH恢复

时间:2018-06-18 12:09:34

标签: mysql restore percona

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

innobackupex --user=XXXX --password=XXXX --stream=tar ./ | sshpass -p XXXX ssh root@192.168.XX.XX "cat - > /var/lib/mysql_backups/name.tar"

现在,备份文件为85GB,并且每天都作为FULL备份进行备份。 我需要在崩溃后恢复数据库并且它不起作用。

我在tar文件中看到了tar -tif name.tar),我读了所有文件名列表。

1)使用--move-back解压缩所有内容并且不使用磁盘上的额外空间,从本地TAR恢复数据库的正常方法是什么?

2)或者是否有可能(如果选项1不可用)从远程TAR恢复备份,反转Taking backup remotely using innobackupex中描述的过程?我尝试了多次,但找不到正确的选项。

我在2012年的帖子中找到了一个选项--remote-host,但在我的1.5.1版中,这个选项丢失...

3)正在流式传输= tar,如何在恢复之前准备(如果需要)tar?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

关于你的问题:

  

1)如何使用从本地TAR恢复数据库的常规方法    - 移回以解压缩所有内容并且不在磁盘上使用额外空间吗?

您可以使用以下命令行解压缩文件并将输出传输到目标服务器:

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

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

  

3)流式传输= 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就可以开始了。

可在以下链接中找到更多信息:

Preparing the backup with xtrabackup

Streaming and compressing backups

Preparing the backup with innobackupex