20.4 备份存储库选项

这些选项指定与备份映像或目录相关的各种参数,或者与备份恢复方式相关的参数。通常,--backup-image和 是您在使用mysqlbackup--backup-dir时需要指定的组中的唯一选项 。

备份存储库选项用于以下操作:

备份存储库选项分为两组:第一组确定备份的结构,第二组提供有关备份服务器上数据原始结构的信息,以便将来对备份进行操作。

以下选项确定备份的结构:

  • --backup-image=IMAGE

    命令行格式 --backup-image=IMAGE
    类型 文件名

    指定用于单文件备份、还原或其他 单文件操作的文件的路径名。

    除了使用 流式传输备份图像时 --backup-image=-,如果 --backup-image没有给出完整路径名,这就是mysqlbackup 解释选项值的方式:

    默认情况下,单文件备份流式传输到标准输出,因此您可以将其直接传输到其他命令,例如磁带备份或ssh相关网络命令。

    您可以选择在图像名称前加上前缀 file:以表示文件 I/O(默认)。对于磁带备份,请在映像名称前加上 sbt:. 有关磁带备份的详细信息,请参见 第 4.3.1.2 节 “备份到磁带”

  • --backup_dir=PATH

    与 相同 --backup-dir永久或临时存储备份数据和元数据 的备份目录。它是大多数类型的备份和恢复操作所需的关键参数。

    该选项在不同的操作和不同的情况下使用不同:

    • 对于备份到单个文件(包括增量、压缩、加密和云备份):用于 --backup-dir提供一个临时文件夹来保存备份元数据(包括mysqlbackup 消息日志、开始和结束 LSN等)和一些临时文件输出。备份数据连同元数据的副本将存储在一个单独的文件中,该文件的名称由该 --backup-image选项指定。

      但是,如果 --backup-image没有给出完整的路径名, mysqlbackup实际上会将 的值 --backup-image作为相对于 指定目录的路径 --backup-dir,从而将单文件备份存储在 --backup-dir(或者,如果 --with-timestamp使用该选项,则存储在创建的子目录下under --backup-dir,其名称中带有时间戳)。

      笔记

      仅适用于 8.0.19 和 8.0.20 版:指定的相对路径 --backup-image是相对于 backup-to-image 运行命令的目录的。

    • 备份到目录:用于 --backup-dir指定存放备份数据和元数据(包括mysqlbackup 消息日志、起止 LSN等)的目录。指定的目录 --backup-dir不能是指定目录的子目录 --datadir

      --with-timestamp还指定该选项时,将在其下创建一个附加级别的子目录,其名称中包含时间戳 --backup-dir(有关详细信息,请参阅该 --with-timestamp选项的说明)。除非 --with-timestamp使用该选项,否则指定的目录 --backup-dir必须为空,否则备份操作将失败并出错。

    • 用于恢复单文件备份(包括增量备份、压缩备份、加密备份和云备份):用于 copy-back-and-apply-log 恢复单文件备份时,用于 --backup-dir提供一个临时文件夹,用于存放恢复操作的临时数据。指定的目录 --backup-dir应为空——如果使用非空目录,恢复操作仍将进行,但恢复数据可能已损坏。

      use-tts恢复使用选项设置= 创建的单文件备份时 with-minimum-locking,指定的文件夹 --backup-dir还用于临时提取备份中的所有表,并用于执行 apply-log操作以使数据在恢复到服务器之前是最新的数据目录。

    • 用于恢复备份目录:用于 --backup-dir指定备份目录的位置,数据将从该目录恢复到服务器。

  • backup_innodb_data_home_dir=PATH

    要存储备份的 InnoDB 数据文件的目录。如果您想将数据文件放在默认位置(即 backup-dir/datadir)以外的其他位置,请指定该选项。如果参数的值与 不同 backup-dir/datadir,则backup-my.cnf 作为信息存储到文件中innodb_data_home_dir ,以便mysqlbackup 在对备份进行各种操作时了解备份的结构。它与 backup_innodb_data_file_path 选项一起确定备份中 InnoDB 数据文件的实际文件路径。

    参数值的推导如下:

    此参数仅适用于备份操作;在还原期间,InnoDB 数据文件将还原到由 指定的数据目录下 ,除非在还原期间使用该选项 --datadir指定了另一个位置 。--innodb_data_home_dir

  • backup_innodb_data_file_path=VALUE

    InnoDB 数据文件的名称和大小。例子:

    ibdata1:32M;ibdata2:32M:autoextend
    /abs/path/ibdata1:32M:autoextend
    innodb-dir/ibdata1:32M:autoextend

    此参数与 一起 backup_innodb_data_home_dir确定 InnoDB 数据文件在备份存储库中的存储位置。使用此选项指定的任何文件路径都被认为是相对于 backup_innodb_data_home_dir 选项值的(即使文件路径是以绝对路径的形式指定的,如 /abs/path/ibdata1:32M:autoextend)也是如此。要使用此选项为备份中的 InnoDB 数据文件指定真正的绝对路径,除了为此选项使用绝对路径外 ,还必须将 backup_innodb_data_home_dir 选项设置为[empty string]。""

    innodb_data_file_path 不指定该参数时,从备份服务器上 的选项值继承值 。如果备份的源和目标都尝试使用解析为相同文件的相同绝对路径,则备份将被取消。

    参数的值作为信息存储到 backup-my.cnf文件中 innodb_data_file_path,以便mysqlbackup在对备份进行各种操作时了解备份的结构。

  • backup_innodb_log_group_home_dir=PATH

    将存储备份的 InnoDB 日志的目录。仅当您想将日志放在默认位置(即 backup-dir/datadir)以外的其他位置时才指定此选项。如果参数的值与 不同 backup-dir/datadir,则backup-my.cnf 作为信息存储在文件中innodb_log_group_home_dir,以便mysqlbackup在对备份进行各种操作时了解备份的结构。请注意,虽然您可以指定用于保存日志的目录,但日志文件的名称是固定的,不能通过此选项重新配置。

    此参数仅适用于备份操作;在还原期间,InnoDB 日志文件将还原到指定的数据目录下 ,除非 在还原期间使用该选项--datadir指定了另一个位置 。--innodb_log_group_home_dir参数值推导如下:

  • backup_innodb_undo_directory=PATH

    在备份期间为 InnoDB 撤消日志创建单独表空间的相对或绝对目录路径。未指定时,该选项采用与 ; 相同的值 backup_innodb_log_group_home_dir。仅当您想将撤消日志放在其他位置时才指定此选项。如果参数的值与 不同 backup-dir/datadir,则backup-my.cnf 作为信息存储在文件中innodb_undo_directory,以便mysqlbackup在对备份进行各种操作时了解备份的结构。

    此参数仅适用于备份操作;请参阅 撤消日志文件的描述,了解撤消日志的恢复位置。

  • --with-timestamp

    在备份目录下创建一个子目录,其名称由备份操作的时间戳组成。它对于维护包含许多放在不同子目录下的备份快照的单个备份目录很有用。

    默认值:不创建带时间戳的子目录。要在不使用此选项的情况下将同一备份目录重新用于新备份,请手动删除以前的备份映像或备份文件。