首页/数据/数据库速查/XtraBackup 压缩与加密备份
备份与恢复56 条

XtraBackup 压缩与加密备份

备份产物压缩省磁盘(--compress + --decompress),敏感数据加密(--encrypt=AES256 + --encrypt-key-file);恢复端分别解压/解密。

数据库速查数据更新于 2026-10-13

XtraBackup 压缩与加密是什么

Percona XtraBackup 做物理热备,直接拷贝 InnoDB 数据文件,恢复速度快、对大库友好。备份产物往往几百 GB,压缩能省下大半磁盘;涉及用户隐私或支付数据的库,还要在备份阶段就加密,避免备份文件成为安全短板。压缩与加密都是备份参数,恢复前必须分别做解压与解密,两步顺序不能颠倒。

基本信息

适用版本XtraBackup 8.0 对应 MySQL 8.0,2.4 对应 5.7(版本必须对应)
压缩参数--compress、--compress-threads=N 并行压缩
解压参数--decompress、--parallel=N
加密参数--encrypt=AES256 --encrypt-key-file=密钥文件
解密参数--decrypt=AES256 --encrypt-key-file=密钥文件
依赖工具老版本压缩产物解压需要 qpress 命令

典型使用场景

  • 大库全备后落对象存储:压缩后上传,成本与耗时都明显下降
  • 合规要求备份加密:含个人信息、支付信息的库必须加密存放
  • 跨机房搬运备份:加密后经公网传输,降低泄露风险
  • 为升级做回退保障:升级前留一份物理全备,回退最快
  • 本地盘空间紧张:压缩后先在本地暂存,再传到备份服务器

压缩备份与解压

压缩备份与解压
# 压缩备份(默认 qpress 算法),压缩线程单独控制
xtrabackup --backup --user=backup --password='***' \
  --target-dir=/data/backup/full_c --compress --compress-threads=4

# 恢复前先解压到同目录,再执行 --prepare
xtrabackup --decompress --target-dir=/data/backup/full_c --parallel=4
xtrabackup --prepare --target-dir=/data/backup/full_c

加密备份与解密

加密备份与解密
# 密钥文件权限收紧到 600,并单独保管
xtrabackup --backup --user=backup --password='***' \
  --target-dir=/data/backup/full_e --encrypt=AES256 \
  --encrypt-key-file=/etc/mysql/backup.key

# 解密:加密与解密使用同一密钥文件
xtrabackup --decrypt=AES256 --encrypt-key-file=/etc/mysql/backup.key \
  --target-dir=/data/backup/full_e --parallel=4

# 解压与解密都会保留原文件,确认无误后再清理
ls -lh /data/backup/full_e | head

压缩与加密要点

项做法注意
压缩--compress + --compress-threads吃 CPU,与业务高负载叠加时备份窗口会拉长
解压--decompress --parallel必须先解压才能 --prepare;老版本依赖 qpress 命令
加密--encrypt=AES256 + 密钥文件密钥与备份分机存放,权限 600
解密--decrypt + 同一密钥文件密钥丢失等于备份永久不可用
清理解密解压后删除中间文件残留明文文件会让加密形同虚设
密钥文件必须与备份分机存放并纳入密码管理体系:密钥和备份放在同一台机器、同一份目录备份里,等于没有加密。解密解压产生的中间明文文件在使用后要及时清理。
恢复流程固定为三步:解压、解密(或先解密再解压,视生成参数定)、--prepare 应用日志,然后才能拷贝数据目录启动;跳过 --prepare 直接启动会得到不一致的数据。

易错点

  • XtraBackup 版本与数据库版本不对应:备份直接失败或恢复后实例无法启动,升级数据库前先同步升级工具
  • 只压缩不记录参数:跨版本或换机器恢复时不知道用了哪种压缩算法与线程参数,解不开
  • 密钥文件与应用配置放在一起被一并备份:备份泄露即数据泄露,违背加密初衷
  • 备份完成未校验:xtrabackup 校验(--prepare 或 --check-privileges)不做,真恢复当天才发现文件损坏
  • 压缩备份与业务高峰重叠:CPU 与 IO 双重压力下业务响应时间明显上升

数据来源与参考

  • Percona XtraBackup 文档: 压缩与加密

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌