首页/数据/数据库速查/mysqldump 压缩与管道传输
备份与恢复56 条

mysqldump 压缩与管道传输

大库备份通常接 gzip 压缩或直接管道传到备机:省磁盘、省带宽;配合 pipefail 才能可靠捕获管道中段的失败。

数据库速查数据更新于 2026-10-12
压缩mysqldump ... | gzip > backup.sql.gz
解压恢复zcat backup.sql.gz | mysql ...
直传mysqldump ... | mysql -h 备机 ...
防护set -o pipefail 捕获任意一段的失败

压缩备份与恢复

压缩备份与恢复
set -o pipefail
mysqldump -uroot -p --single-transaction --all-databases \
  | gzip -6 > /data/backup/all_$(date +%F).sql.gz
zcat /data/backup/all_2026-10-12.sql.gz | mysql -uroot -p
管道中段失败(如磁盘满、网络断)在默认 shell 下会被后续命令掩盖,务必启用 pipefail。

易错点

  • 跨网络直传中断会留下「半截导入」的目标库,恢复类操作前先确认源文件完整
  • gzip 吃 CPU,备份窗口 CPU 紧张时降级为 -1 或改用 zstd/lz4

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌