MySQL物理备份之Percona XtraBackup
Percona XtraBackup 小科普
什么是XtraBackup?
XtraBackup是Percona公司开发的开源热备份工具,可以在MySQL运行时进行物理备份,而不影响数据库的正常读写操作。
核心优势
1. 热备份(Hot Backup)
- 备份时数据库可以正常使用
 - 不需要停机或锁表
 - 对业务影响极小
 
2. 备份速度快
- 直接复制数据文件,比逻辑备份(mysqldump)快得多
 - 适合大型数据库(几百GB到TB级别)
 
3. 支持增量备份
- 第一次全量备份后,后续只备份变化的数据
 - 大幅节省存储空间和备份时间
 
工作原理
1. 复制InnoDB数据文件(.ibd)
2. 同时记录备份期间的redo log(重做日志)
3. 备份完成后,应用redo log保证数据一致性
4. 最终得到一个时间点一致的备份
常用命令示例
全量备份:
xtrabackup --backup --target-dir=/backup/full
增量备份:
xtrabackup --backup --target-dir=/backup/inc1 \--incremental-basedir=/backup/full
恢复准备:
xtrabackup --prepare --target-dir=/backup/full
恢复数据:
xtrabackup --copy-back --target-dir=/backup/full
版本说明
- XtraBackup 2.4 - 支持MySQL 5.7及更早版本
 - XtraBackup 8.0 - 支持MySQL 8.0及以上版本
 - 版本号需要与MySQL版本匹配
 
适用场景
✅ 大型数据库备份(TB级) ✅ 需要快速恢复的生产环境 ✅ 需要定期增量备份节省空间 ✅ 不能停机维护的7×24小时系统
注意事项
- 主要支持InnoDB存储引擎
 - MyISAM表备份时会短暂锁表
 - 备份文件较大,需要足够的存储空间
 - 恢复前需要prepare操作
 
XtraBackup是MySQL DBA的必备工具
