为避免拥有大量备份文件来跟踪、存储和传输,mysqlbackup 方便地以单个文件格式创建备份。它还可以将现有备份目录打包成单个文件,将单个文件解压回备份目录,列出单个文件备份的内容,根据嵌入式校验和验证单个文件备份的内容,或者提取单个文件文件到目录树中。有关相关mysqlbackup选项的语法,请参阅 第 16.9 节,“单文件备份选项”。
高级:虽然
mysqlbackup也可以创建目录备份(详见
backup
命令说明)而不是单文件备份,但在大多数情况下单文件格式更可取:单文件备份更容易处理和存储,目录备份不支持mysqlbackup的某些功能——例如,使用系统备份到磁带 (SBT) API 备份到云和备份到磁带。在整个手册中,目录备份大多被视为高级主题,目录备份的信息和示例都标有Advanced标签,如本段。
由于单文件备份可以流式传输或通过管道传输到另一个进程,例如磁带备份或命令,您可以使用该技术将备份放到另一个存储设备或服务器上,避免原始数据库服务器上的大量存储开销。
要创建单个文件备份,请使用
backup-to-image
命令。以下示例说明如何执行单个文件备份和其他相关操作。
示例 4.1 单文件备份到绝对路径
此命令在给定的绝对路径上创建单个备份映像。它仍然需要
--backup-dir
,用于保存临时输出、状态和元数据文件。
mysqlbackup --backup-image=/backups/sales.mbi --backup-dir=/backup-tmp backup-to-image
示例 4.2 单个文件备份到相对路径
当提供该--backup-image
选项的相对路径而不是绝对路径时,该路径被视为相对于备份目录。因此,在此示例中,生成的单文件备份创建为
/backups/sales.mbi
.
mysqlbackup --backup-image=sales.mbi --backup-dir=/backups backup-to-image
示例 4.3 单文件备份到标准输出
以下命令将备份输出转储到标准输出。同样,使用该
--backup-dir
选项指定的文件夹用作临时目录。
mysqlbackup --backup-dir=/backups --backup-image=- backup-to-image > /backup/mybackup.mbi
示例 4.4 将现有备份目录转换为单个映像
该backup-dir
目录被捆绑到
/backup/my.mbi
文件中。
mysqlbackup --backup-image=/backup/my.mbi --backup-dir=/var/mysql/backup backup-dir-to-image
示例 4.5 将现有映像提取到备份目录
图像内容被解压到
backup-dir
.
mysqlbackup --backup-dir=/var/backup --backup-image=/backup/my.mbi image-to-backup-dir
示例 4.7 验证单个文件备份
以下命令通过验证备份中每个数据页的校验和值来验证单文件备份没有损坏、截断或损坏。
mysqlbackup --backup-image=/logs/fullimage.mi validate
示例 4.9 将单个文件备份提取到备份目录中
此命令的行为类似于
image-to-backup-dir
选项,将单个文件备份的所有内容提取到--backup-dir
选项指定的目录中。
mysqlbackup --backup-image=/var/my.mbi --backup-dir=/var/backup extract
示例 4.10 单个文件的选择性提取
以下命令
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
The following command dumps the contents of
meta/comments.txt
(which is inside the
single-file backup my.mbi
) to standard
output.
mysqlbackup --backup-image=/var/my.mbi --src-entry=meta/comments.txt --dst-entry=- extract
Example 4.11 Selective Extract of Single Directory
The following command extracts a single directory
meta
from the backup image
my.mbi
into a local file system path
./meta
. All contents in the
meta
directory are extracted, including
any subdirectories.
mysqlbackup --backup-image=/backup/my.mbi --src-entry=meta extract
The following command extracts all contents of the
meta
directory, including all its files
and subdirectories, into the directory
/tmp/my-meta
.
mysqlbackup --backup-image=/backup/my.mbi --src-entry=meta \
--dst-entry=/tmp/my-meta extract
Example 4.12 Dealing with Absolute Path Names
由于绝对路径名被提取到本地系统中的相同路径,如果您对该路径没有写权限,则可能会出现问题。您可以按如下方式重新映射绝对路径:
mysqlbackup --backup-image=/backup/my.mbi --src-entry=/ --dst-entry=/myroot extract
mysqlbackup --backup-image=/backup/my.mbi --src-entry=. extract
第一个命令将所有绝对路径提取到
/myroot
本地系统中的目录。第二个命令提取当前目录的所有相对路径。