Percona XtraBackup打包备份使用注意(看似BUG)。

首先声明这篇文章不是手把手教你使用Percona XtraBackup,可以参考我的入门级文章http://blog.csdn.net/zhu19774279/article/details/41693267,也可以自行搜索或阅读官方手册。

今天一直在尝试使用Percona XtraBackup的压缩功能和发送到远程主机的功能,但是始终“失败”,终于快下班的时候发现了问题所在。一共两个问题。

问题1:

我选的流(stream)模式是tar,但是不管是tar还是tar.gz,却发现打包以后的文件用WinRAR一类的软件解压查看,竟然只有一个文件:backup-my.cnf。反复试验网上的各种方法,竟然结果都一样,令我很是差异,即使更新到最新版的2.2.6结果也是一样。如下图:

Percona XtraBackup打包备份使用注意(看似BUG)。_第1张图片

最后,终于发现了被我忽略的一个地方:“To extract Percona XtraBackup‘s archive you must use tar with -i option”,也就是说解压时必须要带-i的参数。而当使用WinRAR查看时,和Linux下tar命令解压原理并不一样,因此只能获得backup-my.cnf一个文件,其他文件都看不见也解压不到。切换到Linux下,使用“tar -xizf backup.tar.gz”解压即可获得想要的结果。

问题2:

XtraBackup在远程备份时,使用了ssh命令登录另外一台主机,但是ssh命令根本就没有提供密码参数,因此这个远程备份根本就不可能完成,强行执行命令,将出现“log scanned up to (1600564)”错误。解决这个问题只需要安装sshpass即可,安装了sshpass后,即可给ssh命令传递密码参数,在.sh文件中非常方便。

最后给出我使用的语句:

innobackupex --user=root --password=root --stream=tar ./ | gzip | sshpass -p 'root123' ssh [email protected] "cat - > /usr/programs/xtraback/backup.tar.gz"




你可能感兴趣的:(MySQL,Percona,XtraBackup)