Mysqldump 到压缩文件

Mysqldump 到压缩文件

情况: 1. 使用 mysqldump 将 mysql 备份到磁盘(~250 GB) 2. 使用 bpzip2 压缩转储 3. 将转储移动到另一个 DC 4. 磁盘使用情况再次恢复良好

问题: 文件系统使用峰值,例如:我需要 1 TB 的空间来容纳转储时的数据 - 我需要摆脱它(支付未使用的磁盘空间)

试着管道直接转储到 bpzip2,但速度很慢(需要高压缩率),我想避免表锁定。管道缓冲区不能用 bash 轻松更改(如果可能的话),也许在 C、Python 中,正如我所读到的。

问题: 有没有什么办法可以处理这些峰值?任何想法都将不胜感激。

答案1

--单次交易测试,工作如预期(感谢 Alexander Tolkachev)

/usr/bin/mysqldump -v --single-transaction --skip-add-drop-table -u'用户' -p'密码' -h'主机' ${db} 2>/var/log/dump/${db}.log | pbzip2 -p2 > “$sql”

我听说并行 bzip 可能会有管道问题,但也许在某些旧版本中,因为它可以按预期工作,而且速度更快 - 只花费了原来时间的 3/4。

我担心管道传输~250GB,文件是否会损坏或发生其他问题,但在测试时发现了任何错误。(我还没有尝试恢复,有关管道传输的更多信息请参见以下链接) https://stackoverflow.com/questions/2715324/can-a-pipe-in​​-linux-ever-lose-data

相关内容