XtraBackup 全量备份
Percona XtraBackup 对 InnoDB 做物理热备:备份过程中实例照常读写,完成后得到可直接用于恢复的数据文件副本。全量备份是增量与差异备份的基线,判定成功与否要看备份日志末尾的完成标记与检查点文件。
基本信息
| 核心参数 | --backup 触发备份,--target-dir 指定目标目录 |
|---|---|
| 并行度 | --parallel 指定拷贝线程数,按磁盘能力设置 |
| 辅助参数 | --extra-lsndir 单独保存位点快照,便于做增量 |
| 产物 | 数据文件、检查点文件、日志文件与备份元信息 |
| 成功判据 | 备份日志末尾出现完成标记,且检查点状态为一贯 |
典型使用场景
- 大库日常备份:物理备份比逻辑导出快,恢复时间也短
- 搭建新从库:用备份恢复数据后配置复制起点,比全量复制更快
- 版本升级前的保险:升级失败可快速回退到备份时间点
- 定期恢复演练:验证备份可用性,同时核对恢复耗时是否满足目标
- 作为增量基线:先全量,后续按位点做增量,减少备份窗口
全备与自检
全备与自检
xtrabackup --backup --user=backup --password='***' \
--target-dir=/data/backup/full_$(date +%F) --parallel=4 \
--extra-lsndir=/data/backup/full_$(date +%F)_lsn
tail -5 /data/backup/full_$(date +%F)/xtrabackup_info # 看备份元信息
cat /data/backup/full_$(date +%F)/xtrabackup_checkpoints # 看位点与类型
# 恢复前必须先准备(回放未提交事务):
xtrabackup --prepare --target-dir=/data/backup/full_$(date +%F)
du -sh /data/backup/full_$(date +%F) # 核对体积是否合理产物逐项读法
| 文件 | 含义 | 核对要点 |
|---|---|---|
| xtrabackup_checkpoints | 记录起始与结束位点、备份类型 | 类型应为全量,位点区间连续 |
| xtrabackup_info | 备份元信息:时间、工具版本、参数 | 核对参数是否与备份策略一致 |
| xtrabackup_logfile | 备份期间的重做日志 | 体积异常小要怀疑备份未真正完成 |
| 数据文件 | 表空间与系统表空间文件 | 体积应与源库量级相当 |
单独保存位点快照目录,后续做增量备份时不需要再去全备目录里翻位点信息。
备份目录不要与数据目录放在同一块物理盘或同一故障域:该盘损坏时数据与备份会一起丢失。