JDP 發表於 2006-7-5 10:36:43

MySQL 資料庫備份與恢復

最快的備份方法:直接文件複製
MySQL 的數據庫文件支持直接複製(Hot-copy),您在任意類型操作系統的服務器中將數據文件複製下來,拷貝到另外的一台服務器的 MySQL 數據目錄,只要數據庫軟件版本不相差太多(例如不是 3.22 和 3.23/4.0),您可以立即直接使用複製過來的完整數據文件。基於這種特性您可以使用最短的時間完成數據備份。
按照常見的安裝習慣,Unix 版本的 MySQL 數據目錄通常可能為(不限於下列):

[*]/var/lib/mysql/
[*]/usr/local/mysql/data/
[*]/usr/local/mysql/var/
Windows 版本的 MySQL 數據目錄通常可能為(不限於下列):

[*]c:\mysql\data\
[*]d:\mysql\data\
[*]x:\mysql\data\
在數據目錄下,可能有多個以數據庫名命名的子目錄,將
建議您在直接複製(Hot-copy)的時候盡量把數據庫服務器停止,這樣備份的數據會較少出錯。如果不方便停止服務器,又恰好在某一文件的某一部分上,備份和數據庫服務器寫入同時進行,則可能造成拷貝下來的數據文件存在錯誤。但這種錯誤通常不致命,可以經過修復而恢復,修復的方法將在後面的部分作以說明。
如果需要恢復某些數據表,只需先把數據庫停止,把備份的文件拷貝到原有的目錄中覆蓋即可。注意在 Unix 系統中,需要檢查覆蓋後的文件屬性和屬主,以免無法被 MySQL 讀取而報錯。 本方法只適合擁有獨立服務器的用戶使用,虛擬主機用戶不在此列。

較快而安全的備份方法:mysqldump
MySQL 軟件本身提供了將數據內容導出為 SQL 文件的工具——mysqldump。通過這一方法備份和恢復,較直接文件複製來說更為安全,但速度慢一些,數據表大則更是如此。
您可以在 MySQL 程序文件目錄找到備份使用的工具 mysqldump 及恢復使用的工具 mysql。按照常見的安裝習慣,Unix 版本的 MySQL 程序文件目錄通常可能為(不限於下列):

[*]/usr/bin/
[*]/usr/local/mysql/bin/
Windows 版本的 MySQL 程序文件目錄通常可能為(不限於下列):

[*]c:\mysql\bin\
[*]d:\mysql\bin\
[*]x:\mysql\bin\
備份和恢復的命令分別為(其中斜體字表示需要替換相關的內容):

[*]備份:mysqldump --force --add-drop-table --extended-insert -h"數據庫主機名" -u"用戶名" -p"密碼" "數據庫名" > 備份數據文件名
[*]恢復:mysql -h"數據庫主機名" -u"用戶名" -p"密碼" "數據庫名" < 備份數據文件名Reference: Discuz! 用戶使用說明書 - 高級應用
頁: [1]
查看完整版本: MySQL 資料庫備份與恢復