首页/数据/数据库速查/XtraBackup 部分备份(库/表级)
备份与恢复56 条

XtraBackup 部分备份(库/表级)

用 --databases 或 --tables 只备指定库表:适合单库迁移、重点业务加备;注意部分备份不支持带过滤条件的增量。

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

部分备份是什么

Percona XtraBackup 默认做整实例物理热备,用 --databases 或 --tables 可以只备份指定库表,适合单库迁移、给核心业务额外加一份备份等场景。它依然是物理备份:拷贝的是数据文件页,不是 SQL 文本,恢复要经过 prepare 阶段。注意部分备份在增量与 prepare 上有额外限制,方案设计前务必对照官方文档确认当前版本支持范围。

基本信息

按库备份--databases="appdb"(可多库逗号分隔)
按表备份--tables="appdb.orders"
必须参数--backup --target-dir=/路径 与备份账号凭据
prepare备份后必须 --prepare 才能用于恢复
单表恢复prepare 时加 --export,生成 .cfg/.exp 供 IMPORT TABLESPACE 使用

典型使用场景

  • 单库迁移:把某个业务库整体搬到新实例,避免搬整实例的多余数据
  • 核心业务加备:在全备之外额外单独备份关键库,恢复时不必还原无关数据
  • 单表恢复演练:小表数据损坏时用部分备份加 --export 走 IMPORT TABLESPACE 快速回补
  • 容量受限环境:备份存储吃紧时只保留关键库的物理备份
  • 合规留存:对特定业务表做长期留存,缩小备份体积

单库备份与恢复准备

单库备份与恢复准备
# 只备份 appdb 这个库
xtrabackup --backup --databases="appdb" \
  --target-dir=/data/backup/appdb_only \
  --user=xtrabackup --password='***'
# 备份完成后再执行 prepare,未 prepare 的备份不可直接用
xtrabackup --prepare --target-dir=/data/backup/appdb_only
# 若要做单表恢复,prepare 时加 --export 生成表结构描述文件
xtrabackup --prepare --export --target-dir=/data/backup/appdb_only
# 查看备份窗口信息,确认备份类型是一致性全备
cat /data/backup/appdb_only/xtrabackup_checkpoints

参数读法

参数含义使用注意
--databases按库(可含 table 形式)筛选备份对象写成 --database 是错的,参数名不可想当然
--tables按表筛选,格式为 库.表与 --databases 组合使用时以实际文档为准
--prepare把备份文件恢复成一致状态缺这一步恢复必然失败
--export生成可 IMPORT TABLESPACE 的元数据文件仅单表恢复需要
--target-dir备份落盘目录目录内容会被 XtraBackup 使用,不要混放其他文件
部分备份只覆盖被选中的对象,恢复时会得到「只有这些库表」的实例状态。如果你需要整个实例可恢复,仍然要有全备,两者是互补关系而不是替代关系。
IMPORT TABLESPACE 要求目标表结构与备份时的表结构严格一致:列定义、字符集、页大小不一致都会失败,恢复前先比对 SHOW CREATE TABLE。

易错点

  • 拿部分备份当全备用:真出了需要整实例恢复的故障时才发现覆盖不全,恢复演练必须覆盖这条路径
  • 只用 --databases 却期望带出 mysql 系统库的账号权限:系统库不在选择范围内,迁移后要单独建账号与授权
  • 跳过 --prepare 直接拷贝文件回数据目录:InnoDB 需要前滚 redo 才能得到一致状态,跳过这步极易导致损坏
  • 单表 IMPORT TABLESPACE 前没核对表结构:字符集或列定义细微差异就报导入失败,白跑一遍备份流程
  • 备份目录与数据目录放在同一块盘:盘故障时数据与备份同时丢失,部分备份同样要遵循异地或异盘原则

数据来源与参考

  • Percona XtraBackup 文档: 部分备份

相关工具

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