20.7 增量备份选项

有关这些选项的增量备份和使用示例的概述,请参阅第 4.3.3 节,“进行差异或增量备份”第 5.1.3 节,“恢复增量备份”

要进行增量备份,请指定 --incremental--incremental-with-redo-log-only以及--backup-dir选项。根据是否使用--incremental--incremental-with-redo-log-only ,需要或建议使用其他选项。所有在LSN之后修改的 InnoDB 数据 (由您使用的选项直接或间接指定)被复制到增量备份中。对于 MySQL Enterprise Backup 8.0.20 及更早版本:要还原增量备份,请指定该--incremental选项(MySQL Enterprise Backup 8.0.21 及更高版本不再需要该选项来进行还原操作)。

  • --incremental[={ page-track|full-scan|optimistic}]

    命令行格式 --incremental
    类型 枚举
    默认值 full-scan
    有效值

    page-track

    full-scan

    optimistic

    执行增量备份时,此选项有三个可能的值:

    • page-track对于 MySQL Enterprise Backup 8.0.18 及更高版本: mysqlbackup使用服务器上的页面跟踪功能查找自上次备份以来已修改的 InnoDB 数据文件中的更改页面,然后复制它们。这可能是mysqlbackup创建增量备份的最快方式。即使设置了这个值,页面跟踪功能也只有在满足某些要求时才会使用;有关详细信息,请参阅 使用页面跟踪的增量备份

    • full-scan: mysqlbackup扫描服务器数据目录下的所有InnoDB数据文件,找出自上次备份后发生变化的页面并复制。

    • optimisticmysqlbackup只扫描自上次备份以来修改过的InnoDB数据文件中的修改页,然后复制它们。一般来说,当数据库中没有多少表被修改时,乐观增量备份比全扫描备份更快;但是,一些限制适用于此功能。有关详细信息,请参阅 全扫描与乐观增量备份

    默认值:page-track对于MySQL Enterprise Backup 8.0.18 及更高版本。但是,如果由于某些原因 mysqlbackup无法使用页面跟踪功能 (有关详细信息,请参阅使用页面跟踪的增量备份),如果未设置该选项 , mysqlbackup 将执行全扫描备份 ,或者在. --incremental--incremental=page-track

    对于 MySQL Enterprise Backup 8.0.17 及更早版本,全扫描备份是增量备份的默认方法,如果没有为 指定值,则使用该方法 --incremental

    在备份期间,该 --incremental选项还需要使用 --incremental-base选项或 --start-lsn选项。仅增量备份 InnoDB 表。默认情况下,所有非 InnoDB 文件都包含在增量备份中并且是完整的。要在增量备份中排除非 InnoDB 数据,请使用该 --only-innodb选项。

    该选项的值仅在该选项用于增量备份时才有意义。

    对于 MySQL Enterprise Backup 8.0.20 及更早版本:对于 copy-back-and-apply-log, copy-backapply-log, 操作,指定关联的备份是 增量 的(MySQL Enterprise Backup 8.0.21 及更高版本不再需要该选项来进行恢复操作)。

  • --incremental-with-redo-log-only

    指定 仅使用重做日志创建增量备份。--incremental 与使用该选项创建的备份相比,这种替代类型的增量备份具有不同的性能特征和操作限制 ;请参阅 仅使用重做日志创建增量备份 以讨论它们之间的差异,以及如何正确执行仅重做日志增量备份。

    要使用此选项,您还需要指定 --incremental-base选项或 --start-lsn. 就像 --incremental选项一样,仅增量备份 InnoDB 表。默认情况下,所有非 InnoDB 文件都包含在增量备份中并且是完整的。要在增量备份中排除非 InnoDB 数据,请使用该 --only-innodb选项。

    您不能将--compress 选项与选项一起使用 --incremental-with-redo-log-only

  • --incremental-base= mode:argument

    命令行格式 --incremental-base=mode:argument
    类型 细绳

    使用此选项,mysqlbackup 从备份目录内的元数据而不是从--start-lsn 选项中检索执行增量备份所需的信息。它使您不必在执行连续的增量备份时指定不断变化的、不可预测的 LSN值。相反,您可以通过选项语法中的mode: 组合来指定一种定位先前备份目录的方法。argument备选方案是:

    • history:{last_backup | last_full_backup}

      前缀history:后跟两个可能值之一:

      • last_backup:这使得 mysqlbackup查询 end_lsn上次成功的非 TTS 备份backup_history的值,如正在备份的服务器实例 的表中所记录的那样 。

      • last_full_backup:(对于 MySQL Enterprise Backup 8.0.17 及更高版本)这与 value 的工作方式类似 last_backup,除了它使 mysqlbackup查找最后一个 完整备份 并将其用作基本备份,从而创建 差异备份

      笔记

      如果最后一次完整或部分备份是 TTS 备份,mysqlbackup 会跳过它,并继续搜索备份历史,直到找到最后一次非 TTS 备份,然后返回它的 end_lsn值。

    • dir:directory_path

      Advanced:您指定前缀 dir:后跟目录路径参数,它指向以前的目录备份。对于第一个增量备份,您指定保存完整目录备份的目录;对于第二个增量备份,您指定保存第一个增量目录备份的目录,依此类推。

  • --start-lsn=LSN

    命令行格式 --start-lsn=LSN
    类型 数字

    增量备份中,指定先前备份中包含的最高 LSN值。您可以从先前备份操作的输出中或从先前备份操作的 backup_historyend_lsn列中获取此值。始终与 --incremental选项结合使用;--incremental-base使用该选项时不需要;--incremental-with-redo-log-only 当您使用增量备份机制 时不推荐使用 。

    笔记

    --start-lsn如果使用该选项 ,则不会将二进制日志文件复制到增量备份中。要包括增量备份所涵盖期间的二进制日志文件 ,请--start-lsn使用该 --incremental-base选项,而不是 ,它为 mysqlbackup提供必要的信息,以确保上一次备份和当前增量备份中包含的二进制日志数据之间不存在间隙。

  • --incremental-backup-dir=PATH

    高级:指定增量目录备份的数据位置。创建或还原增量目录备份时,该选项的功能与 --backup-dir一般备份和还原的功能相同,而且该选项实际上可以与 --backup-dir目录备份互换使用。有关详细信息,请参阅说明 --backup-dir

    对于apply-incremental-backup 操作,选项指定增量备份目录,其数据用于更新选项指定的目录备份--backup-dir

    笔记

    不要将此选项用于映像备份的任何操作,该选项对此没有任何意义。