19.3 恢复操作

还原操作将数据文件从备份还原到它们在数据库服务器上的原始位置,或还原到其他所需位置。通常,恢复过程要求数据库服务器已经关闭(或者,至少不对要将数据恢复到的目录进行操作),部分恢复除外。该选项 datadir必须在选项指定的文件中指定 --defaults-file或作为命令行选项指定。有关用法示例,请参阅 第 5 章,恢复或还原数据库

mysqlbackup [STD-OPTIONS]
            [SERVER-REPOSITORY-OPTIONS]
            [--backup-image=IMAGE]
            [--backup-dir=PATH]
            [--uncompress]
            [MESSAGE-LOGGING-OPTIONS]
            [PARTIAL-BACKUP-RESTORE-OPTIONS]
            [PROGRESS-REPORT-OPTIONS]
            [ENCRYPTION-OPTIONS]
            [CLOUD-STORAGE-OPTIONS]
            [ENCRYPTED-INNODB-OPTIONS]
            copy-back-and-apply-log 
mysqlbackup [STD-OPTIONS]
            [SERVER-REPOSITORY-OPTIONS]
            [--backup-dir=PATH]
            [--uncompress]
            [MESSAGE-LOGGING-OPTIONS]
            [PARTIAL-BACKUP-RESTORE-OPTIONS]
            [PROGRESS-REPORT-OPTIONS]
            [CLOUD-STORAGE-OPTIONS]
            [ENCRYPTED-INNODB-OPTIONS]
            copy-back
  • copy-back-and-apply-log

    在单个步骤中,将 选项指定 的单个文件备份--backup-image或从选项指定的目录 备份还原--backup-dir到服务器的数据目录,并对还原的数据执行 apply-log操作以使它们保持最新。与用于恢复 单个文件备份的多步骤方法(通常包括执行 extractuncompressapply-logcopy-back的连续步骤组成用于恢复压缩图像,或 extractapply-logcopy-back用于未压缩图像),该命令使恢复过程更简单、更快,还节省了所需的磁盘空间。

    以下是对使用的不同类型的备份恢复的一些特殊要求 copy-back-and-apply-log

    • 对于 MySQL Enterprise Backup 8.0.20 及更早版本:要还原压缩目录或图像,请 --uncompress在命令行中包含该选项(MySQL Enterprise Backup 8.0.21 及更高版本不再需要该选项)。

    • 要恢复单个文件备份,除了使用选项指定备份映像的位置外 --backup-image,还可以使用 --backup-dir选项提供文件夹的位置,该文​​件夹将用于存储在恢复过程中产生的临时文件。

    • 要还原单个文件增量备份,假设完整备份(增量备份所基于的备份)已经还原:

      • 对于 MySQL Enterprise Backup 8.0.20 及更早版本:在命令行中包含该 --incremental选项(MySQL Enterprise Backup 8.0.21 及更高版本不再需要该选项)。

      • 对于 MySQL Enterprise Backup 8.0.20 及更早版本:--uncompress如果已使用该选项创建增量备份,则在命令行中包含该 选项 --compress(MySQL Enterprise Backup 8.0.21 及更高版本不再需要该选项)。

      • 使用选项指定增量备份映像的位置 --backup-image

      • --backup-dir选项一起提供文件夹的位置,该文​​件夹将用于存储在恢复过程中生成的临时文件。

    • 高级:要还原增量备份目录,假设已还原完整备份(增量备份所基于的备份):

      • 对于 MySQL Enterprise Backup 8.0.20 及更早版本:在命令行中包含该 --incremental选项(MySQL Enterprise Backup 8.0.21 及更高版本不再需要该选项)。

      • 使用 --backup-dir--incremental-backup-dir 选项指定增量备份目录。

    • 要恢复选定的表:

    另请注意:

    copy-back-and-apply-log 操作 结束时 ,将backup_variables.txt在数据目录中创建或更新文件。该文件包含有关还原内容的元数据,并被增量备份的连续单步还原所使用;用户不应删除或修改它。

    有关使用命令恢复不同类型备份的一些示例命令 copy-back-and-apply-log,请参阅第 5.1 节,“执行恢复操作”

  • copy-back

    将文件从目录备份还原到它们在 MySQL 服务器中的原始位置。

    在使用 命令 恢复热备份copy-back之前,必须 准备备份并使用命令使备份保持一致 apply-log。有关详细信息,请参阅 第 5.1.7 节“高级:准备和恢复目录备份”。您还可以将apply-logand copy-back与单个 copy-back-and-apply-log命令一起执行。

    在执行完全恢复之前,可能需要对目标目录进行一些清理工作以进行恢复(例如,当备份数据用于设置新的 MySQL 服务器或替换现有 MySQL 服务器的所有数据时)。有关详细信息,请参阅此处的讨论 。

    从备份中恢复选定的表时有一些特殊要求;有关详细信息,请参阅第 5.1.4 节,“表级恢复 (TLR)”

警告

在为复制目的 恢复服务器时 ,如果备份服务器使用了 innodb_undo_directory将撤消日志放在数据目录之外的选项,则在使用带有 或 的文件或 选项 server-my.cnf时 , 应注意正确配置 选项文件。否则,原服务器上的数据或日志文件可能会被意外覆盖。 server-all.cnf--defaults-filecopy-backcopy-back-and-apply-loginnodb_undo_directory