5.2 执行恢复操作

执行恢复操作 的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-logcopy-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选项。

以下小节描述了用于恢复备份的许多不同场景。