作者:俊達
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.zip
cp 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=EN
endpoint=oss-cn-hangzhou.aliyuncs.com
accessKeyID=XXXX
accessKeySecret=XXXX
檢查配置是否正確:
ossutil64 ls oss://ycdbbackup
ossutil64 cp localfile oss://ycdbbackup
2、創建一個命名管道
mkfifo /data/backup/backup0625.xbstreamls -l /data/backup/backup0625.xbstream
prw-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://ycdbbackup
Succeed: 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://ycdbbackup
Succeed: Total num: 1, size: 56,397. OK num: 1(upload 1 files).
6、刪除命名管道
rm /data/backup/backup0625.xbstream
這樣,我們就可以將數據庫直接備份到云端,本地不落盤。
更多技術信息請查看云掣官網https://yunche.pro/?t=yrgw