Disk-Space-Utilization

mysqldump到壓縮文件

  • March 1, 2019

情況:

  1. 使用 mysqldump (~250 GB) 將 mysql 備份到磁碟 2. 使用 bpzip2 壓縮轉儲 3. 將轉儲移動到另一個 DC 4. 磁碟使用再次處於良好狀態

問題: 文件系統使用高峰,例如:我在轉儲時需要 1 TB 空間來容納數據 - 我需要擺脫這個(支付未使用的磁碟空間)

嘗試將轉儲直接通過管道傳輸到 bpzip2,但速度很慢(需要高壓縮),我想避免表鎖定。管道緩衝區不能用 bash (如果可能的話)輕鬆更改,可能在 C、Python 中,正如我所讀到的那樣。

問題: 有沒有辦法處理這些峰值?任何想法將不勝感激。

–single-transaction 測試,按預期工作(感謝 Alexander Tolkachev)

/usr/bin/mysqldump -v –single-transaction –skip-add-drop-table -u’user’ -p’password’ -h ‘host’ $ {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

引用自:https://serverfault.com/questions/955639