虛擬主機MySQL數(shù)據(jù)庫的備份與還原的方法
更新時間:2007年07月29日 16:15:31 作者:
以前介紹過一個小巧的MYSQL備份PHP腳本程序,不過那適合沒有MySQL Shell權(quán)限的虛擬主機用戶,這里想講一下更為通用的備份與還原方法,適合有自己主機的朋友。
1、關(guān)于備份:我們在使用MySQL中一般都用MyISAM類型的表,這種表是以文件形式保存的文件系統(tǒng)中的;而HEAP類型的表是保存在內(nèi)存中的,下面的方法是針對MyISAM表的。
1.1、直接拷貝數(shù)據(jù)庫文件。首先不推薦使用這種方法,因為拷貝的數(shù)據(jù)表是針對特定操作系統(tǒng)(硬件環(huán)境)的,移到其他系統(tǒng)中有可能會出問題。其次備份時候要停止MYSQL服務(wù)器或者鎖定相應(yīng)的表,否則如果拷貝過程中正好在插入/改寫數(shù)據(jù)庫就掛了,不適合需要不間斷的服務(wù)器。這種方法最大好處是方便快捷,備份時候只要拷貝MYSQL數(shù)據(jù)目錄相應(yīng)數(shù)據(jù)庫文件夾中的所有文件即可,其中*.frm是描述了表的結(jié)構(gòu),*.MYD保存了表的數(shù)據(jù)記錄,*.MYI則是表的索引。
1.2、使用MySQLDump工具:利用這個程序可以把數(shù)據(jù)庫導(dǎo)出成SQL語句形式的文本文件,方便移動到不同系統(tǒng),還原時候會一條條執(zhí)行文件中的SQL語句即可重建數(shù)據(jù)庫。實際使用時在WINDOWS下CMD里或者LinuxShell輸入命令:
mysqldump -u user_name -p database_name --option > path:/xxx.sql;回車
;user_name是用戶名
;database_name 是數(shù)據(jù)庫名
;path:/xxx.sql 是保存?zhèn)浞菸募穆窂脚c文件名
然后輸入密碼就會導(dǎo)出數(shù)據(jù)庫到指定PATH下的.sql文件了,要保證用戶有足夠權(quán)限訪問相應(yīng)數(shù)據(jù)庫。--option是備份時可以指定的一些參數(shù),可以參考MYSQL官方文檔,常用幾個選項:
--opt ——一組常用默認(rèn)選項,包括--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset
--add-drop-table ——在建立表時候先DROP舊表,適合覆蓋數(shù)據(jù)庫
--where——按照條件備份部分記錄,例如:--where="id<1000'"
mysqldump工具的參數(shù)功能相當(dāng)多,還需要好好研究下~
2、關(guān)于還原
2.1、對于直接拷貝數(shù)據(jù)庫文件的方法,把相應(yīng)文件覆蓋回數(shù)據(jù)目錄即可還原。
2.2、對于DUMP出來的.SQL文件,可以在MYSQL命令行中輸入:
use target_database;選擇要還原的數(shù)據(jù)庫,最好新建一個空的
\. path:/xxx.sql;將指定的備份文件還原到當(dāng)前數(shù)據(jù)庫
1、關(guān)于備份:我們在使用MySQL中一般都用MyISAM類型的表,這種表是以文件形式保存的文件系統(tǒng)中的;而HEAP類型的表是保存在內(nèi)存中的,下面的方法是針對MyISAM表的。
1.1、直接拷貝數(shù)據(jù)庫文件。首先不推薦使用這種方法,因為拷貝的數(shù)據(jù)表是針對特定操作系統(tǒng)(硬件環(huán)境)的,移到其他系統(tǒng)中有可能會出問題。其次備份時候要停止MYSQL服務(wù)器或者鎖定相應(yīng)的表,否則如果拷貝過程中正好在插入/改寫數(shù)據(jù)庫就掛了,不適合需要不間斷的服務(wù)器。這種方法最大好處是方便快捷,備份時候只要拷貝MYSQL數(shù)據(jù)目錄相應(yīng)數(shù)據(jù)庫文件夾中的所有文件即可,其中*.frm是描述了表的結(jié)構(gòu),*.MYD保存了表的數(shù)據(jù)記錄,*.MYI則是表的索引。
1.2、使用MySQLDump工具:利用這個程序可以把數(shù)據(jù)庫導(dǎo)出成SQL語句形式的文本文件,方便移動到不同系統(tǒng),還原時候會一條條執(zhí)行文件中的SQL語句即可重建數(shù)據(jù)庫。實際使用時在WINDOWS下CMD里或者LinuxShell輸入命令:
mysqldump -u user_name -p database_name --option > path:/xxx.sql;回車
;user_name是用戶名
;database_name 是數(shù)據(jù)庫名
;path:/xxx.sql 是保存?zhèn)浞菸募穆窂脚c文件名
然后輸入密碼就會導(dǎo)出數(shù)據(jù)庫到指定PATH下的.sql文件了,要保證用戶有足夠權(quán)限訪問相應(yīng)數(shù)據(jù)庫。--option是備份時可以指定的一些參數(shù),可以參考MYSQL官方文檔,常用幾個選項:
--opt ——一組常用默認(rèn)選項,包括--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset
--add-drop-table ——在建立表時候先DROP舊表,適合覆蓋數(shù)據(jù)庫
--where——按照條件備份部分記錄,例如:--where="id<1000'"
mysqldump工具的參數(shù)功能相當(dāng)多,還需要好好研究下~
2、關(guān)于還原
2.1、對于直接拷貝數(shù)據(jù)庫文件的方法,把相應(yīng)文件覆蓋回數(shù)據(jù)目錄即可還原。
2.2、對于DUMP出來的.SQL文件,可以在MYSQL命令行中輸入:
use target_database;選擇要還原的數(shù)據(jù)庫,最好新建一個空的
\. path:/xxx.sql;將指定的備份文件還原到當(dāng)前數(shù)據(jù)庫
相關(guān)文章
Centos6.5在線安裝mysql 8.0詳細(xì)教程
這篇文章主要為大家介紹了Centos6.5在線安裝 mysql 8.0詳細(xì)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11mysql實現(xiàn)將data文件直接導(dǎo)入數(shù)據(jù)庫文件
這篇文章主要介紹了mysql實現(xiàn)將data文件直接導(dǎo)入數(shù)據(jù)庫文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03mysql5.7的安裝及Navicate長久免費使用的實現(xiàn)過程
這篇文章主要介紹了mysql5.7的安裝及Navicate長久免費使用的實現(xiàn)過程,本文給大家分享問題及解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11MySql 8.0.11 安裝過程及 Navicat 鏈接時遇到的問題小結(jié)
這篇文章主要介紹了MySql 8.0.11 安裝過程及 Navicat 鏈接時遇到的問題,需要的朋友可以參考下2018-06-06MySQL啟動報錯:Can not connect to MySQL
今天打開數(shù)據(jù)庫出現(xiàn)一個錯誤,ERROR 2003: Can't connect to MySQL server on 'localhost' 的錯誤,網(wǎng)上查找原因說是我的mysql服務(wù)沒有打開,所以本文給大家介紹了MySQL啟動報錯:Can not connect to MySQL server的解決方法,需要的朋友可以參考下2024-03-03