问题描述
使用 XtraBackup 产生的备份数据无法直接使用
在数据备份(--backup)后,由于数据文件复制的时间点不同,因此数据不一致而无法使用。另外 InnoDB 会将这些数据文件视为损坏,将拒绝启动。
如何才能使备份数据正常使用,以用于数据库恢复
需要对数据进行“预备”(Prepare)操作,使数据文件完全一致,然后才能用于数据恢复及在 InnoDB 中运行。
环境描述
软件版本:Xtrabackup 2.2
附加说明
在预备操作时发生了什么?
在预备时,XtraBackup 将启动内嵌的修改版 InnoDB 引擎,以处理复制的备份文件,是数据文件保持一致。
执行预备操作的位置
可以在任意服务器中进行预备操作。
配置文件问题
在备份过程中,会在备份目录生成 backup-my.cnf 文件,保存 InnoDB 配置信息。
在预备操作时,需要该配置文件,会被自动加载。错误的配置文件会导致错误的恢复。
软件版本问题
(1)旧版 XtraBackup 备份的数据,可以使用新版 XtraBackup 进行预备操作,但是反过来不行。
(2)另外新版 XtraBackup 可能移除对旧版数据库的支持,也无法用于数据预备操作。比如 XtraBackup 2.2 不再支持 MySQL 5.0,需要使用 XtraBackup 2.1 进行预备操作。
总的来说,保证版本相同就不会有太大问题。
预备命令使用方法
第一次执行
预备操作非常简单,无需关注底层细节:
#!/bin/sh xtrabackup --prepa

XtraBackup产生的备份数据需要经过预备操作才能确保一致性,使其可用于数据库恢复。预备过程中,XtraBackup启动内嵌的InnoDB引擎处理备份文件。此过程应在任意服务器上进行,使用与备份时相同版本的XtraBackup。执行预备操作时,需要备份目录中的backup-my.cnf配置文件,确保其正确。如果进行多次预备,从第三次开始将不再修改数据文件。在增量备份中,需用--apply-log-only选项。注意不要中断预备操作,以免损坏备份。
最低0.47元/天 解锁文章
375

被折叠的 条评论
为什么被折叠?



