一般情況我們通過mysqldump來備份MySQL數據庫,並上傳至其它備份機器。如果數據庫比較大,在備份傳輸的時候可能會慢,所以我們盡量讓備份的文件小一些。
在寫自動備份腳本時,最好把備份結果直接壓縮,恢復時也可以直接由壓縮備份恢復。下面介紹如何使用bzip2和gzip進行壓縮mysql備份文件。
備份並用bzip壓縮:
代碼如下 復制代碼mysqldump | bzip2 > outputfile.sql.bz2
從bzip2備份恢復:
代碼如下 復制代碼bunzip2 < outputfile.sql.bz2 | mysql < mysql options>
備份並用gzip壓縮:
代碼如下 復制代碼mysqldump | gzip > outputfile.sql.gz
從gzip備份恢復:
gunzip < outputfile.sql.gz | mysql < mysql options>
補充本文章
備份指定數據庫
代碼如下 復制代碼mysqldump -h hostname -u username -p databasename > db.sql不明確指定路徑的話被分到用戶工作目錄:C:Documents and SettingsAdministrator
可以明確指定備份目錄:
代碼如下 復制代碼 mysqldump -u root -p mydb -h 192.168.14.204 > D:mydb.sql說明:
-p之後不用輸入密碼,點擊回車鍵之後才需要輸入密碼。
直接將MySQL數據庫壓縮備份
代碼如下 復制代碼 mysqldump -h hostname -u username -p databasename | gzip > db.sql.gz說明:
gzip是linux下的壓縮工具,所以在windows環境下無法使用。
備份MySQL數據庫某個(些)表
代碼如下 復制代碼 mysqldump -h hostname -u username -p databasename table1 table2 > db.sql同時備份多個MySQL數據庫
代碼如下 復制代碼 mysqldump -h hostname -u username -p –databases db1 db2 db3 > dbs.sql備份服務器上所有數據庫
代碼如下 復制代碼 mysqldump --all-databases > allbackupfile.sql測試:
代碼如下 復制代碼 mysqldump --all-databases -u root -p > allbackupfile.sqlEnter password: ******windows下可以使用Mysql Query Browser的File–》Open Script來執行備份的腳本,同時也可以使用一下命令直接進行恢復:
代碼如下 復制代碼mysql -h hostname -u username -p databasename < backupfile.sql