使用gzip可高效压缩mysqldump备份,节省空间并加快传输,适合日常使用;2. xz提供更高压缩率但速度慢,适用于长期归档;3. 已有备份可通过gzip或xz压缩,结合管道操作实现快速恢复。

在MySQL中,备份文件通常由mysqldump生成,是纯文本的SQL脚本。这类文件体积较大,直接压缩能显著减少存储空间和传输时间。最常用的方法是在导出的同时结合压缩工具,避免生成中间大文件。
1. 使用gzip压缩备份
将mysqldump的输出通过管道传给gzip,直接生成压缩文件。
命令示例:
mysqldump -u 用户名 -p 数据库名 | gzip > backup.sql.gz
恢复时需先解压或直接通过管道导入:
恢复命令:
gunzip
2. 使用pigz进行多线程压缩(更快)
pigz是gzip的并行版本,支持多核压缩,适合大数据库。
安装pigz(ubuntu/debian):
sudo apt-get install pigz 备份命令:
mysqldump -u 用户名 -p 数据库名 | pigz > backup.sql.gz
3. 使用xz获得更高压缩率
xz压缩率比gzip更高,但耗时更长,适合长期归档。
备份命令:
mysqldump -u 用户名 -p 数据库名 | xz > backup.sql.xz
恢复时:
xzcat backup.sql.xz | mysql -u 用户名 -p 数据库名
4. 压缩已有备份文件
如果已经生成了backup.sql,可用以下命令压缩:
- gzip backup.sql → 生成 backup.sql.gz
- xz backup.sql → 生成 backup.sql.xz
查看压缩效果:
ls -lh backup*
基本上就这些。选择哪种方式取决于你对速度和压缩率的需求。日常备份推荐gzip,追求极致压缩可选xz,数据量大且有多核支持时用pigz更高效。


