4.3.4 制作压缩备份

为了节省磁盘空间,您可以使用mysqlbackup--compress选项 压缩 InnoDB 备份数据文件。压缩可让您在手头保留更多组备份数据或在将备份数据发送到另一台服务器时节省传输时间。此外,由于减少了 IO,压缩通常会导致更快的备份。

备份压缩功能仅适用于 InnoDB 表。在备份期间压缩 InnoDB 表空间文件后,它们会收到.ibz扩展名。为了避免在不节省额外磁盘空间的情况下浪费 CPU 周期, --compress不要尝试压缩服务器上已经压缩的表(请参阅 创建压缩表);尽管如此,此类表空间文件也以.ibz 扩展名保存在备份中。

笔记

当 InnoDB 表空间文件中有未使用的空间时,将在未压缩备份期间复制整个文件。执行压缩备份以避免未使用空间的存储开销。

.bz当包含在压缩备份中时, 二进制日志和中继日志文件被压缩并以扩展名保存。

您不能将该--compress选项用于仅使用重做日志创建的增量备份(即,使用该 --incremental-with-redo-log-only 选项)。

您还可以通过该 --compress-method选项选择要使用的压缩算法,并且在使用 ZLIB 或 LZMA 压缩算法时,通过该--compress-level 选项选择压缩级别。有关详细信息,请参阅第 20.6 节,“压缩选项”

这是制作压缩单文件备份的示例命令:

mysqlbackup --defaults-file=/home/dbadmin/my.cnf --compress --backup-image=backup.img backup-to-image

高级:这是制作压缩目录备份的示例命令:

mysqlbackup --defaults-file=/home/dbadmin/my.cnf --compress-method=zlib --compress-level=5 backup

这是一个用于制作压缩和准备好的目录备份 的示例命令 :

mysqlbackup --defaults-file=/home/dbadmin/my.cnf --compress-method=zlib --compress-level=5 backup-and-apply-log

警告

加密的 InnoDB 表的压缩率很低。不建议使用包含许多加密 InnoDB 表的数据库创建压缩备份。

笔记

请参阅附录 B,MySQL 企业备份的限制 中适用于压缩备份的 限制。