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