19.2 更新操作

有两种类型的操作可以使您的备份数据保持最新:

应用日志操作

首次完成备份作业后,备份数据可能不处于一致状态,因为在备份运行时可能已插入、更新或删除数据。此初始备份文件称为 原始备份。在备份期间,mysqlbackup还将累积的 InnoDB 日志复制到一个名为 ibbackup_logfile. 在应用日志操作中,该ibbackup_logfile文件用于前滚原始数据文件,以便数据文件中的每一页都对应于 InnoDB 日志的相同日志序列号。这类似于在一个过程中发生的操作 崩溃恢复

对于单文件备份,应用日志操作通常作为 copy-back-and-apply-log命令的一部分执行。对于目录备份, copy-back-and-apply-log也可以使用该命令,但您还有两种选择

  • apply-log操作连同使用 backup-and-apply-log命令备份(不适用于增量或压缩目录备份)

  • apply-log在运行命令之前,使用原始备份上的命令 单独执行应用日志操作 copy-back

mysqlbackup [STD-OPTIONS]
            [--limit-memory=MB] [--uncompress] [--backup-dir=PATH]
            [MESSAGE-LOGGING-OPTIONS]
            [PROGRESS-REPORT-OPTIONS]
            [ENCRYPTED-INNODB-OPTIONS]
            apply-log

apply-log

高级:使目录备份中的 InnoDB 表保持最新,包括备份运行时对数据所做的任何更改。

示例 19.1 将日志应用到完整备份

mysqlbackup --backup-dir=/path/to/backup apply-log

它读取backup-my.cnf内部文件 backup-dir以了解备份。默认文件除了my.cnf提供值外没有任何作用 ,这限制了执行 操作时内存的使用。 limit-memory=MBapply-log


应用增量备份操作

高级:使用 apply-incremental-backup增量备份目录中的数据更新备份目录:

mysqlbackup [STD-OPTIONS]
            [--incremental-backup-dir=PATH] [--backup-dir=PATH]
            [--limit-memory=MB] [--uncompress]
            [MESSAGE-LOGGING-OPTIONS]
            [PROGRESS-REPORT-OPTIONS]
            [ENCRYPTED-INNODB-OPTIONS]
            apply-incremental-backup

apply-incremental-backup

Advanced:--backup-dir使用选项指定的增量备份目录中的数据, 更新选项指定的目录备份 --incremental-backup-dir。有关恢复增量备份的说明,请参阅第 5.1.3 节,“恢复增量备份”

对于单文件增量备份,一般使用 copy-back-and-apply-log命令(--incrementalMySQL Enterprise Backup 8.0.20及之前的选项)将增量镜像备份中的数据应用到已经恢复到数据目录下的全量备份中目标服务器。