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 程序文件目錄通常可能為(不限於下列):