虛擬主機MySQL數據庫的備份與還原的方法
更新時間:2007年07月29日 16:15:31 作者:
以前介紹過一個小巧的MYSQL備份PHP腳本程序,不過那適合沒有MySQL Shell權限的虛擬主機用戶,這里想講一下更為通用的備份與還原方法,適合有自己主機的朋友。
1、關于備份:我們在使用MySQL中一般都用MyISAM類型的表,這種表是以文件形式保存的文件系統(tǒng)中的;而HEAP類型的表是保存在內存中的,下面的方法是針對MyISAM表的。
1.1、直接拷貝數據庫文件。首先不推薦使用這種方法,因為拷貝的數據表是針對特定操作系統(tǒng)(硬件環(huán)境)的,移到其他系統(tǒng)中有可能會出問題。其次備份時候要停止MYSQL服務器或者鎖定相應的表,否則如果拷貝過程中正好在插入/改寫數據庫就掛了,不適合需要不間斷的服務器。這種方法最大好處是方便快捷,備份時候只要拷貝MYSQL數據目錄相應數據庫文件夾中的所有文件即可,其中*.frm是描述了表的結構,*.MYD保存了表的數據記錄,*.MYI則是表的索引。
1.2、使用MySQLDump工具:利用這個程序可以把數據庫導出成SQL語句形式的文本文件,方便移動到不同系統(tǒng),還原時候會一條條執(zhí)行文件中的SQL語句即可重建數據庫。實際使用時在WINDOWS下CMD里或者LinuxShell輸入命令:
mysqldump -u user_name -p database_name --option > path:/xxx.sql;回車
;user_name是用戶名
;database_name 是數據庫名
;path:/xxx.sql 是保存?zhèn)浞菸募穆窂脚c文件名
然后輸入密碼就會導出數據庫到指定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="id<1000'"
mysqldump工具的參數功能相當多,還需要好好研究下~
2、關于還原
2.1、對于直接拷貝數據庫文件的方法,把相應文件覆蓋回數據目錄即可還原。
2.2、對于DUMP出來的.SQL文件,可以在MYSQL命令行中輸入:
use target_database;選擇要還原的數據庫,最好新建一個空的
\. path:/xxx.sql;將指定的備份文件還原到當前數據庫
1、關于備份:我們在使用MySQL中一般都用MyISAM類型的表,這種表是以文件形式保存的文件系統(tǒng)中的;而HEAP類型的表是保存在內存中的,下面的方法是針對MyISAM表的。
1.1、直接拷貝數據庫文件。首先不推薦使用這種方法,因為拷貝的數據表是針對特定操作系統(tǒng)(硬件環(huán)境)的,移到其他系統(tǒng)中有可能會出問題。其次備份時候要停止MYSQL服務器或者鎖定相應的表,否則如果拷貝過程中正好在插入/改寫數據庫就掛了,不適合需要不間斷的服務器。這種方法最大好處是方便快捷,備份時候只要拷貝MYSQL數據目錄相應數據庫文件夾中的所有文件即可,其中*.frm是描述了表的結構,*.MYD保存了表的數據記錄,*.MYI則是表的索引。
1.2、使用MySQLDump工具:利用這個程序可以把數據庫導出成SQL語句形式的文本文件,方便移動到不同系統(tǒng),還原時候會一條條執(zhí)行文件中的SQL語句即可重建數據庫。實際使用時在WINDOWS下CMD里或者LinuxShell輸入命令:
mysqldump -u user_name -p database_name --option > path:/xxx.sql;回車
;user_name是用戶名
;database_name 是數據庫名
;path:/xxx.sql 是保存?zhèn)浞菸募穆窂脚c文件名
然后輸入密碼就會導出數據庫到指定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="id<1000'"
mysqldump工具的參數功能相當多,還需要好好研究下~
2、關于還原
2.1、對于直接拷貝數據庫文件的方法,把相應文件覆蓋回數據目錄即可還原。
2.2、對于DUMP出來的.SQL文件,可以在MYSQL命令行中輸入:
use target_database;選擇要還原的數據庫,最好新建一個空的
\. path:/xxx.sql;將指定的備份文件還原到當前數據庫
相關文章
MySQL之Field‘***’doesn’t have a default value錯誤解決辦法
這篇文章主要介紹了MySQL之Field‘***’doesn’t have a default value錯誤解決辦法,需要的朋友可以參考下2015-04-04
Mysql auto_increment 重新計數(讓id從1開始)
當清空一個表的時候,重新插入數據,發(fā)現auto_increment屬性的字段計數不是從1開始的時候,可以使用以下命令2012-12-12
ERROR 1045 (28000): Access denied for user ''''root''''@''''
這篇文章主要介紹了Linux下數據庫報ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)實用解決方案,希望能對大家有幫助。2017-10-10

