2012-01-31 96 views
6

我需要備份當前系統上的MySQL數據庫。我正在使用shell腳本在cron作業中使用mysqldump命令。MySQL備份的最佳實踐

這大致就是我做的:

#!/bin/bash 

fileName=$(date +%H-%M) 
mysqldump -ubackup -hserver1.local.com -A database1 > /backup/$filename.sql 

這大約需要1小時完成所以我的問題是這樣的:

我需要對數據進行壓縮,所以我想知道我是否應該首先將文件備份爲純SQL,然後壓縮它,或者是否應該將其從mysqldump命令中立即壓縮?

回答

8

,減少中間磁盤空間使用情況,您可以壓縮在即時:

mysqldump (options) | bzip2 -c > /backup/$filename.sql.bz2 

這意味着你將不必到整個未壓縮的SQL數據寫入到一個文件,然後讀回在它上面壓縮它。

+1

+1減少中間磁盤空間使用量 – 2012-01-31 00:45:30

+0

-c是什麼意思? – 2012-01-31 00:49:13

+0

@WestonCarlson:[壓縮到標準輸出](http://linux.die.net/man/1/bzip2) – 2012-01-31 00:51:16