Linux系統下MySQL數據庫的備份和恢復

    當我們MySQL數據庫保存重要數據的時候,備份工作極爲重要。本文介紹如何使用mysqldump備份和恢復數據,使用該方法,可以將數據庫中的數據備份成一個文本文件,也可將備份好的數據庫遷移到另一臺的服務器。

 

(1) 從命令行備份MySQL數據庫

在Linux操作系統中,我們可以使用mysqldump命令進行備份。該命令將連接MySQL服務器並創建SQL轉儲文件,該文件包含了重新創建數據庫所必需的所有SQL語句。該命令的基本語法如下:

$ mysqldump --opt -u [uname] -p[pass] [dbname] >  [backupfile.sql]

[uname] 數據庫用戶名

[pass] 數據庫密碼

[dbname] 數據庫名

[backupfile.sql] 數據庫備份文件名

[--opt] mysqldump選項

例如:備份數據庫Tuixin到20131112.sql文件,你可以簡單地使用以下命令:

$ mysqldump -u root -p Tuixin > 20131112.sql

如果有必要一次導出所有的數據庫,可使用--all-databases選項,命令如下:

$ mysqldump -u root -p --all-databases >  20131112.sql

如果mysql數據庫較大,你可能希望能壓縮mysqldump導出的SQL文件,此時僅需使用如下的備份命令,並通過管道連接到gzip,此時便可導出gzip文件。

$ mysqldump -u root -p Tuixin | gzip -9 >  20131112.sql.gz

解壓縮方法如下:

$ gunzip 20131112.sql.gz

 

(2) 從命令行恢復MySQL數據庫

通過上面的方法,我們已經將數據庫Tuixin備份至20131112.sql文件,接下來,我們恢復Tuixin數據庫:

* 在目標機器上創建相應的數據庫名

* 使用mysql命令載入sql文件

$ mysql -u [uname] -p[pass] [db_to_restore] <  [backupfile.sql]

例如,我們現在恢復20131112.sql文件到Tuixin數據庫:

$ mysql -u root -p Tuixin < 20131112.sql

如果是恢復壓縮的備份文件,可遵循以下格式:

$ gunzip < [backupfile.sql.gz] | mysql -u [uname]  -p[pass] [dbname]

如果是恢復已經存在的數據庫,此時可使用mysqlimport命令,該命令的語法格式如下:

$ mysqlimport -u [uname] -p[pass] [dbname]  [backupfile.sql]

 

注:MySQL還有一種最簡單的備份方法,就是直接將MySQL中的數據庫文件直接複製出來,這種方法最簡單,速度也最快,但使用這種方法時,最好先停止服務器,以保證數據庫在複製過程中不會發生變化。該方法簡單快速,但不是最好的備份方法,實際情況可能不允許停止MySQL服務器,而且這種方法對InnoDB引擎不適用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章