执行恢复操作
的mysqlbackupcopy-back-and-apply-log
命令是
和copy-back
(仅用于目录备份;参见第 5.1 节,“准备要恢复的备份”)。通常,恢复过程需要数据库服务器已经关闭(或者,至少不在您要将数据恢复到的目录上运行),除了恢复使用--use-tts
选项创建的备份;请参阅
下面的解释。该过程将数据文件、日志和其他备份文件从备份目录复制回其原始位置,并对它们执行任何所需的后处理。
示例 5.4 关闭和恢复数据库
mysqladmin --user=root --password shutdown
mysqlbackup --defaults-file=/usr/local/mysql/my.cnf \
--backup-dir=/export/backups/full \
copy-back
还原的数据包括backup_history
表,MySQL Enterprise Backup 记录了每个备份的详细信息。该表允许您使用
--incremental-base
=history:last_backup
选项执行未来的增量备份。
请参阅第 4.2.4 节 “恢复数据库”,了解恢复操作中使用的重要选项,如
--defaults-file
、
--datadir
、
--backup-image
和
--backup-dir
。
执行还原时,确保还原数据的目标目录都是干净的,不包含旧的或不需要的数据文件(这可能需要手动删除 、 、 和 选项指定位置
--datadir
的
--innodb_data_home_dir
文件
--innodb_log_group_home_dir
)
--innodb_undo_directory
。恢复使用该选项创建的备份不需要相同的清理--use-tts
(在这种情况下,
第 5.2.4 节“恢复使用该--use-tts
选项创建的备份”中描述的其他要求适用)。
在使用该命令恢复热
目录备份之前copy-back
,必须
准备好备份并使用该命令使其保持一致apply-log
。有关详细信息,请参见第 5.1 节 “准备要恢复的备份”。您可以将apply-log
和
copy-back
操作(以及许多其他操作,具体取决于您正在恢复的备份类型)合并为一个步骤,方法是使用以下
copy-back-and-apply-log
选项:
示例 5.5 使用copy-back-and-apply-log恢复备份目录
mysqlbackup --defaults-file=<my.cnf> \
--backup-dir=/export/backups/full \
copy-back-and-apply-log
相同的命令通常用于单文件备份以执行相同的功能:
Example 5.6 使用copy-back-and-apply-log恢复单文件备份
mysqlbackup --defaults-file=<my.cnf> -uroot --backup-image=<image_name> \
--backup-dir=<backupTmpDir> --datadir=<restoreDir> copy-back-and-apply-log
该--backup-dir
选项指定一个临时目录,其中保存临时输出、状态文件和备份元数据。
由于已知问题(错误号 20485910),恢复使用 MySQL Enterprise Backup 3.11 或更早版本创建的部分映像备份需要使用该
--force
选项。
以下小节描述了用于恢复备份的许多不同场景。