作者:俊达
xtrabackup工具中有一个xbcloud程序,能够将数据库间接备份到S3对象存储中,本地不落盘。这里介绍将数据库间接备份到OSS的一种办法。
具体方法如下:

1、筹备OSS
咱们应用ossutil工具上传备份文件。
下载ossutil工具:

wget -O ossutil-v1.7.16-linux-amd64.zip "https://gosspublic.alicdn.com/ossutil/1.7.16/ossutil-v1.7.16-linux-amd64.zip?spm=a2c4g.120075.0.0.33ee51f9DUd7FF&file=ossutil-v1.7.16-linux-amd64.zip" unzip ossutil-v1.7.16-linux-amd64.zipcp ossutil-v1.7.16-linux-amd64/ossutil64 /usr/local/bin/chmod +x /usr/local/bin/ossutil64

筹备oss配置文件:
运行ossutil64 config,按提醒输出endpoint,ak,sk信息

ossutil64 config

生成的配置文件如下:

# cat ~/.ossutilconfig[Credentials]language=ENendpoint=oss-cn-hangzhou.aliyuncs.comaccessKeyID=XXXXaccessKeySecret=XXXX

查看配置是否正确:

ossutil64 ls oss://ycdbbackupossutil64 cp localfile oss://ycdbbackup

2、创立一个命名管道

mkfifo /data/backup/backup0625.xbstreamls -l /data/backup/backup0625.xbstreamprw-r--r-- 1 root root 0 6月  25 14:33 /data/backup/backup0625.xbstream

3、执行备份命令
将备份的输入重定向到步骤2创立的命名管道。

xtrabackup --backup --slave-info  -u root -H 127.0.0.1 -P3380 -pabc123 \  --stream=xbstream --target-dir /data/backup/ 2>/data/backup/xtrabackup.log \  > /data/backup/backup0625.xbstream

4、应用ossutil工具将备份文件上传到OSS

# ossutil64 cp /data/backup/backup0625.xbstream  oss://ycdbbackupSucceed: Total num: 1, size: 0. OK num: 1(upload 1 files).average speed 1081000(byte/s)189.095486(s) elapsed

5、将备份日志信息也上传到OSS
倡议将xtrabackup备份的日志信息也上传到OSS

ossutil64 cp /data/backup/xtrabackup.log oss://ycdbbackupSucceed: Total num: 1, size: 56,397. OK num: 1(upload 1 files).

6、删除命名管道

rm /data/backup/backup0625.xbstream

这样,咱们就能够将数据库间接备份到云端,本地不落盘。

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw