虛擬主機MySQL數據庫的備份與還原的方法

虛擬主機MySQL數據庫的備份與還原的方法

以前介紹過一個小巧的MYSQL備份PHP腳本程序,不過那適合沒有MySQL Shell權限的虛擬主機用戶,這里想講一下更為通用的備份與還原方法,適合有自己主機的朋友。

1、關于備份:我們在使用MySQL中一般都用MyISAM類型的表,這種表是以文件形式保存的文件系統中的;而HEAP類型的表是保存在內存中的,下面的方法是針對MyISAM表的。

1.1、直接拷貝數據庫文件。首先不推薦使用這種方法,因為拷貝的數據表是針對特定操作系統(硬件環境)的,移到其他系統中有可能會出問題。其次備份時候要停止MYSQL服務器或者鎖定相應的表,否則如果拷貝過程中正好在插入/改寫數據庫就掛了,不適合需要不間斷的服務器。這種方法最大好處是方便快捷,備份時候只要拷貝MYSQL數據目錄相應數據庫文件夾中的所有文件即可,其中*.frm是描述了表的結構,*.MYD保存了表的數據記錄,*.MYI則是表的索引。

1.2、使用MySQLDump工具:利用這個程序可以把數據庫導出成SQL語句形式的文本文件,方便移動到不同系統,還原時候會一條條執行文件中的SQL語句即可重建數據庫。實際使用時在WINDOWS下CMD里或者LinuxShell輸入命令:
mysqldump -u user_name -p database_name –option > path:/xxx.sql;回車
;user_name是用戶名
;database_name 是數據庫名
;path:/xxx.sql 是保存備份文件的路徑與文件名

然后輸入密碼就會導出數據庫到指定PATH下的.sql文件了,要保證用戶有足夠權限訪問相應數據庫。–option是備份時可以指定的一些參數,可以參考MYSQL官方文檔,常用幾個選項:
–opt ——一組常用默認選項,包括–add-drop-table –add-locks –create-options –disable-keys –extended-insert –lock-tables –quick –set-charset
–add-drop-table ——在建立表時候先DROP舊表,適合覆蓋數據庫
–where——按照條件備份部分記錄,例如:–where=”idmysqldump工具的參數功能相當多,還需要好好研究下~

2、關于還原
2.1、對于直接拷貝數據庫文件的方法,把相應文件覆蓋回數據目錄即可還原。
2.2、對于DUMP出來的.SQL文件,可以在MYSQL命令行中輸入:
use target_database;選擇要還原的數據庫,最好新建一個空的
. path:/xxx.sql;將指定的備份文件還原到當前數據庫

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享