4.3.5 制作单文件备份

为避免有大量备份文件需要跟踪、存储和传输,mysqlbackup可以创建单个文件格式的备份。它还可以将现有备份打包到单个文件中,将单个文件解压缩回原始备份目录结构,列出单个文件备份的内容,根据嵌入式校验和验证单个文件备份的内容,或者提取一个单个文件到目录树中。有关相关 mysqlbackup选项的语法,请参阅 第 14.9 节,“单文件备份选项”

由于单文件备份可以流式传输或通过管道传输到另一个进程,例如磁带备份或命令,您可以使用该技术将备份放到另一个存储设备或服务器上,避免原始数据库服务器上的大量存储开销。

要创建单个文件备份,请使用 backup-to-image命令。以下示例说明如何执行单个文件备份和其他相关操作。

示例 4.3 单文件备份到绝对路径

此命令在给定的绝对路径上创建单个备份映像。它仍然需要 --backup-dir,用于保存临时输出、状态和元数据文件。

mysqlbackup --backup-image=/backups/sales.mbi --backup-dir=/backup-tmp backup-to-image

示例 4.4 单个文件备份到相对路径

此命令指定--backup-image备份目录下的相对路径。生成的单文件备份创建为 /backups/sales.mbi.

mysqlbackup --backup-image=sales.mbi --backup-dir=/backups backup-to-image

示例 4.5 将单个文件备份到标准输出

以下命令将备份输出转储到标准输出。同样,使用该 --backup-dir选项指定的文件夹用作临时目录。

mysqlbackup --backup-dir=/backups --backup-image=- backup-to-image > /backup/mybackup.mbi

示例 4.6 将现有备份目录转换为单个映像

backup-dir目录被捆绑到 /backup/my.mbi文件中。

mysqlbackup --backup-image=/backup/my.mbi --backup-dir=/var/mysql/backup backup-dir-to-image

示例 4.7 将现有映像提取到备份目录

图像内容被解压到 backup-dir.

mysqlbackup --backup-dir=/var/backup --backup-image=/backup/my.mbi image-to-backup-dir

示例 4.8 列出单个文件备份内容

列出图像内容,每行表示一个文件或目录条目。

mysqlbackup --backup-image=/backup/my.mbi list-image

示例 4.9 验证单个文件备份

以下命令通过验证备份中每个数据页的校验和值来验证单文件备份没有损坏、截断或损坏。

mysqlbackup --backup-image=/logs/fullimage.mi  validate

示例 4.10 将单个文件备份提取到当前目录

以下命令将单个文件备份中的所有内容提取到当前工作目录中。

mysqlbackup --backup-image=/var/my.mbi extract

示例 4.11 将单个文件备份提取到备份目录中

此命令的行为类似于将 image-to-backup-dir单个文件备份的所有内容提取到 --backup-dir目录中的选项。

mysqlbackup --backup-image=/var/my.mbi --backup-dir=/var/backup extract

示例 4.12 单个文件的选择性提取

以下命令 meta/comments.txt将备份映像 中的单个文件提取my.mbi到本地路径./meta/comments.txt中。

mysqlbackup --backup-image=/var/my.mbi \
  --src-entry=meta/comments.txt extract

以下命令 使用该 选项 meta/comments.txt将备份映像中的文件提取my.mbi到指定路径 。/tmp/mycomments.txt--dst-entry

mysqlbackup --backup-image=/var/my.mbi \
  --src-entry=meta/comments.txt \
  --dst-entry=/tmp/mycomments.txt extract

以下命令将 meta/comments.txt(在单文件备份内my.mbi)的内容转储到标准输出。

mysqlbackup --backup-image=/var/my.mbi --src-entry=meta/comments.txt --dst-entry=- extract

示例 4.13 单个目录的选择性提取

以下命令 meta将备份映像 中的单个目录提取my.mbi到本地文件系统路径 ./meta中。提取目录中的所有内容 meta,包括任何子目录。

mysqlbackup --backup-image=/backup/my.mbi --src-entry=meta extract

以下命令将 meta目录的所有内容(包括其所有文件和子目录)提取到目录 /tmp/my-meta中。

mysqlbackup --backup-image=/backup/my.mbi --src-entry=meta \
  --dst-entry=/tmp/my-meta extract

示例 4.14 处理绝对路径名

由于绝对路径名被提取到本地系统中的相同路径,如果您对该路径没有写权限,则可能会出现问题。您可以按如下方式重新映射绝对路径:

mysqlbackup --backup-image=/backup/my.mbi --src-entry=/ --dst-entry=/myroot extract
mysqlbackup --backup-image=/backup/my.mbi --src-entry=. extract

第一个命令将所有绝对路径提取到 /myroot本地系统中的目录。第二个命令提取当前目录的所有相对路径。