美文网首页MySQL乱弹笔记
【备份工具】XtraBackup 流式传输和压缩备份-远程备份

【备份工具】XtraBackup 流式传输和压缩备份-远程备份

作者: 醉红尘丶 | 来源:发表于2021-01-28 17:39 被阅读0次

环境

1.使用 xbstream

1.1 无压缩全量备份

1.1.1 备份

xtrabackup --defaults-file=/etc/my.cnf --user=databak  -S /tmp/mysql.sock --parallel=2 --backup --stream=xbstream --target-dir=/app/backup > /app/backup/xtra_full_`date +%Y%m%d%H%M%S`.xbstream
  • 【可选】开启了并行--parallel=2

1.1.2 解包

# 创建解包后的数据目录
mkdir /app/backup/data

cat /app/backup/xtra_full_20210127173747.xbstream | xbstream -x -v -C /app/backup/data

1.2 全量备份并压缩

1.2.1 备份

xtrabackup --defaults-file=/etc/my.cnf --user=databak  -S /tmp/mysql.sock --parallel=2 --backup --compress --stream=xbstream --target-dir=/app/backup > /app/backup/xtra_full_`date +%Y%m%d%H%M%S`.xbstream
  • 【可选】开启了并行--parallel=2
  • 【可选】开启了压缩--compress

1.2.2 解包

# 创建解包后的数据目录
mkdir /app/backup/data

# 解包,解压出都是qb文件
cat /app/backup/xtra_full_20210127173747.xbstream | xbstream -x -v -C /app/backup/data

# 解压缩解包出的文件,并删除qb原文件
xtrabackup --decompress --remove-original --target-dir=/app/backup/data

1.3 将压缩备份发送到另一台主机

需要配置连接远程服务器ssh免密

echo "192.168.66.101 initnode" >> /etc/hosts
ssh-keygen # 一路回车
ssh-copy-id initnode

备份到远程目录

xtrabackup --defaults-file=/etc/my.cnf --user=databak  -S /tmp/mysql.sock --parallel=2 --backup --stream=xbstream --target-dir=/app/backup | ssh root@initnode \ "cat - > /data/backup/xtra_full_`date +%Y%m%d%H%M%S`.xbstream"
  • 【可选】开启了并行--parallel=2
  • 【可选】压缩--compress

1.4 将压缩备份发送到另一台主机并解包

这个需要在备份服务器上也安装xtrabackup

# 远程备份机上创建
mkdir /data/backup/data_`date +%Y%m%d`

xtrabackup --defaults-file=/etc/my.cnf --user=databak  -S /tmp/mysql.sock --parallel=2 --backup --stream=xbstream --target-dir=/app/backup | ssh root@initnode "xbstream -x -v -C /data/backup/data_`date +%Y%m%d`"

2.使用 tar

2.1 无压缩全量备份

2.1.1 备份

xtrabackup --defaults-file=/etc/my.cnf --user=databak  -S /tmp/mysql.sock --parallel=2 --backup --stream=tar --target-dir=/app/backup > /app/backup/xtra_full_`date +%Y%m%d%H%M%S`.tar

2.1.2 解压

# 创建解压目录
mkdir -p /app/backup/data

tar -xvf xtra_full_20210127194352.tar -C /app/backup/data

2.2 全量备份并压缩

2.2.1 备份

xtrabackup --defaults-file=/etc/my.cnf --user=databak  -S /tmp/mysql.sock --parallel=2 --backup --stream=tar --target-dir=/app/backup|gzip - > /app/backup/xtra_full_`date +%Y%m%d%H%M%S`.tar
  • 【可选】开启了并行--parallel=2
  • 【可选】进行了压缩 gzip,压缩的话会偏慢一点

2.2.2 解压

tar -zxvf xtra_full_20210127194850.tar -C /app/backup/data

2.3 将压缩备份发送到另一台主机

xtrabackup --defaults-file=/etc/my.cnf --user=databak  -S /tmp/mysql.sock --parallel=2 --backup --stream=tar --target-dir=/app/backup|gzip | ssh root@initnode \ "cat - > /data/backup/xtra_full_`date +%Y%m%d`.tar"
  • 【可选】开启了并行--parallel=2
  • 【可选】进行了压缩 gzip,不压缩的话去掉 |gip即可

相关文章

网友评论

    本文标题:【备份工具】XtraBackup 流式传输和压缩备份-远程备份

    本文链接:https://www.haomeiwen.com/subject/uydazktx.html