实验环境
此次实验的环境如下
流式备份模式,是Percona XtraBackup支持的一种备份形式,他不会将备份文件输出到备份目录,他会将输出到SDTOUT的文件合成一个tar或者xbstream格式的文件
这样我们可以用一些程序对其进行操作,例如压缩或者加密
xbstream格式为xtrabackup用来同时支持压缩和流式的文件格式
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 --stream=xbstream /oradata/data/mysql/xtra> /oradata/data/mysql/xtra/backup.xbstream
从日志上我们可以看出比传统的备份多出了streaming动作
最后的文件如下图
2.2 流式备份并压缩文件
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 --stream=xbstream --compress /oradata/data/mysql/xtra> /oradata/data/mysql/xtra/backup_compress.xbstream
可以看出比上面的多了个压缩的动作
可以看到文件比上面的要小
2.3 解压备份到指定目录
xbstream -x < /oradata/data/mysql/xtra/backup.xbstream -C /oradata/data/mysql/xtra/
注意这里直接将所文件解压到指定目录,而不是在一个以日期为名称的文件夹中
目录必须事先存在
压缩和未压缩的文件都使用该命令
2.4 传到远程服务器并解压
这里需要配置ssh互信,不然会卡住
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 --stream=xbstream --compress /oradata/data/mysql/xtra | ssh mysql@11.12.14.30 "xbstream -x -C /oradata/data/mysql/xtra/"
注意这里无法使用--compress,该参数只支持stream
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 --stream=tar /oradata/data/mysql/xtra> /oradata/data/mysql/xtra/backup.tar
如果需要压缩功能可使用如下命令
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 --stream=tar /oradata/data/mysql/xtra | gzip - > /oradata/data/mysql/xtra/backup_compress.tar.gz
或者
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 --stream=tar /oradata/data/mysql/xtra | bzip2 - > /oradata/data/mysql/xtra/backup_compress.tar.bz2
注意解包需要用-i参数,如
$ tar -xizvf backup_compress.tar.gz
这里需要配置ssh互信,不然会卡住
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 --stream=tar /oradata/data/mysql/xtra | ssh root@11.12.14.30 "cat - > /oradata/data/mysql/xtra/backup.tar"
本专题所有内容翻译子Percona XtraBackup的官方文档
可通过如下链接下载
http://www.zhaibibei.cn/mysql/xtrabackup/tutorial1/