Percona XtraBackup 是开源 MySQL 热备份工具,支持 InnoDB/XtraDB 在线物理备份。安装需添加 Percona 源并 yum/apt 安装对应版本包。全量备份使用 xtrabackup --backup --target-dir=指定路径,建议通过 ~/.my.cnf 配置避免密码明文。恢复时先 --prepare 准备备份,再停止 MySQL、清空数据目录,用 --copy-back 恢复数据,最后修改权限并启动服务。增量备份基于全量或前一次增量进行,使用 --incremental-basedir 指定基础目录;恢复时依次 --prepare 全量和各增量(中间步骤加 --apply-log-only),最后 copy-back。注意目录权限、路径及 prepare 顺序即可安全完成备份恢复。
Percona XtraBackup 是一个开源的 MySQL 热备份工具,支持 InnoDB 和 XtraDB 存储引擎的在线物理备份,可以在不中断数据库服务的情况下完成备份操作。以下是使用 Percona XtraBackup 进行备份的基本流程和常用命令。
在使用前需要先安装 Percona XtraBackup。以 CentOS/RHEL 为例:
对于 Debian/Ubuntu 系统,使用 apt 安装,具体步骤参考 Percona 官方文档。
执行一次完整的物理备份,命令如下:
xtrabackup --backup --target-dir=/data/backups/mysql-full --user=root --password=your_password说明:
[client] user=root password=your_password
然后可简化命令为:
xtrabackup --backup --target-dir=/data/backups/mysql-full恢复过程分为两个阶段:准备(prepare)和还原(restore)。
1. 准备备份(应用日志,保证数据一致性)
xtrabackup --prepare --target-dir=/data/backups/mysql-full2. 停止 MySQL 服务并清空数据目录
3. 恢复数据
xtrabackup --copy-back --target-dir=/data/backups/mysql-full4. 修改数据目录权限
chown -R mysql:mysql /var/lib/mysql5. 启动 MySQL
systemctl start mysql基于全量备份,可以创建增量备份以减少备份体积和时间。
1. 创建第一次增量备份
xtrabackup --backup --target-dir=/data/backups/incremental1 --incremental-basedir=/data/backups/mysql-full2. 第二次增量基于第一次增量
xtrabackup --backup --target-dir=/data/backups/incremental2 --incremental-basedir=/data/backups/incremental13. 恢复时依次应用:
基本上就这些。只要注意权限、目录路径和 prepare 步骤的顺序,XtraBackup 的使用并不复杂,但能有效保障生产环境的数据安全。