为避免有大量备份文件需要跟踪、存储和传输,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.9 验证单个文件备份
以下命令通过验证备份中每个数据页的校验和值来验证单文件备份没有损坏、截断或损坏。
mysqlbackup --backup-image=/logs/fullimage.mi validate
示例 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
本地系统中的目录。第二个命令提取当前目录的所有相对路径。