4.3.3 制作压缩备份

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

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

笔记

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

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

您只能将该--compress 选项用于完整备份,而不能用于增量备份

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

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

mysqlbackup --defaults-file=/etc/my.cnf --compress backup

这是一个用于制作压缩和准备好的目录备份 的示例命令 (仅支持 MySQL Enterprise Backup 3.12.3 及更高版本):

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

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

mysqlbackup --defaults-file=/etc/my.cnf --compress-method=zlib --compress-level=5 \
  --backup-image=backup.img backup-to-image

笔记

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

下一步:

  • 记下完整备份和增量备份末尾消息中的 LSN 值(例如,在行中)。您在执行此完整备份后发生的更改的增量备份时指定此值。 mysqlbackup: Was able to parse the log up to lsn LSN_number

  • 将日志应用于压缩备份文件,以便随时可以恢复完整备份。您可以先将备份数据移动到不同的服务器,以避免在数据库服务器上执行此操作的 CPU 和 I/O 开销。

  • 应用日志后,定期 进行增量备份,增量备份比完整备份更小且速度更快。