5.1 执行恢复操作

执行恢复操作 的mysqlbackupcopy-back-and-apply-log命令是 和copy-back(仅用于目录备份;参见第 5.1.7 节,“高级:准备和恢复目录备份”)。通常,恢复过程要求数据库服务器已经关闭(或者,至少不对要将数据恢复到的目录进行操作), 部分恢复除外。该过程将数据文件、日志和其他备份文件从备份目录复制回其原始位置,并对它们执行任何所需的后处理。

示例 5.1 恢复数据库

mysqlbackup --defaults-file=<my.cnf> -uroot --backup-image=<image_name> \
  --backup-dir=<backupTmpDir> --datadir=<restoreDir> copy-back-and-apply-log

copy-back-and-apply-log命令实现了两件事:

  • 从映像文件中提取备份并将其复制到要还原的服务器上的数据目录中。

  • 对恢复的数据执行应用日志操作以使它们保持最新。

请参阅第 4.2.4 节 “恢复数据库”,了解恢复操作中使用的重要选项,如 --defaults-file--datadir--backup-image--backup-dir

还原的数据包括backup_history 表,MySQL Enterprise Backup 记录了每个备份的详细信息。该表允许您使用该 选项执行未来的增量备份。 --incremental-base=history:{last_backup | last_full_backup}

重要的
  • 执行还原时,确保还原数据的目标目录都是干净的,不包含旧的或不需要的数据文件(这可能需要手动删除 、 、 和 选项指定位置 --datadir--innodb_data_home_dir文件 --innodb_log_group_home_dir--innodb_undo_directory 。部分恢复不需要相同的清理, 第 5.1.4 节“表级恢复 (TLR)”中描述的其他要求适用。

  • 完全还原后,根据您打算如何启动还原的服务器,您可能需要调整还原的数据目录的所有权。例如服务器要由用户启动 mysql,使用如下命令将数据目录及其下的文件的owner属性改为mysql用户,group属性改为mysql组。

    $ chown -R mysql:mysql /path/to/datadir

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