使用mysql進(jìn)行數(shù)據(jù)庫備份,又很正規(guī)的數(shù)據(jù)庫備份方法,同其他的數(shù)據(jù)庫服務(wù)器有相同的概念,但有沒有想過,mysql會有更簡捷的使用文件目錄的備份方法,而且又快有好。
一、數(shù)據(jù)備份捷徑
因為這個方法沒有得到官方正式文檔的驗證,我們暫稱為試驗吧。
目的:備份hosta主機(jī)中一個mysql數(shù)據(jù)庫testa,并恢復(fù)到到hostb機(jī)中
試驗環(huán)境:
操作系統(tǒng):winnt4.0,mysql3.22.34,phpmyadmin 2.1.0
在hosta中安裝mysql數(shù)據(jù)庫并建立testa數(shù)據(jù)庫
hostb機(jī)安裝mysql數(shù)據(jù)庫,沒有testa數(shù)據(jù)庫
方法步驟:
啟動phpmyadmin察看hosta和hostb中的數(shù)據(jù)庫列表,在hostb中沒有testa數(shù)據(jù)庫
找到hosta中mysql的安裝目錄,并找到數(shù)據(jù)庫目錄data
在我的試驗環(huán)境中,這個目錄是c:mysqldata
找到對應(yīng)數(shù)據(jù)庫名稱的子目錄c:mysqldatatesta
粘貼拷貝到hostb的data目錄下,是hosta同hostb mysql數(shù)據(jù)目錄下的文件相同
刷新hostb的phpmyadmin察看一下數(shù)據(jù)庫列表,我們看到testa已經(jīng)出現(xiàn),并且作查詢修改等操作都正常,備份恢復(fù)恢復(fù)成功
試驗結(jié)論:mysql的數(shù)據(jù)庫可以通過文件形式保存,備份,恢復(fù)只要將相應(yīng)文件目錄恢復(fù)即可,無需使用其它工具備份。
二、正規(guī)的方法(官方建議):
導(dǎo)出要用到mysql的mysqldump工具,基本用法是:
mysqldump [options] database [tables]
如果你不給定任何表,整個數(shù)據(jù)庫將被導(dǎo)出。
通過執(zhí)行mysqldump --help,你能得到你mysqldump的版本支持的選項表。
注意,如果你運行mysqldump沒有--quick或--opt選項,mysqldump將在導(dǎo)出結(jié)果前裝載整個結(jié)果集到內(nèi)存中,如果你正在導(dǎo)出一個大的數(shù)據(jù)庫,這將可能是一個問題。
mysqldump支持下列選項:
--add-locks
在每個表導(dǎo)出之前增加lock tables并且之后unlock table。(為了使得更快地插入到mysql)。
--add-drop-table
在每個create語句之前增加一個drop table。
--allow-keywords
允許創(chuàng)建是關(guān)鍵詞的列名字。這由在列名前面加表名的方法做到。
-c, --complete-insert
使用完整的insert語句(用列名字)。
-c, --compress
如果客戶和服務(wù)器均支持壓縮,壓縮兩者間所有的信息。
--delayed
用insert delayed命令插入行。
-e, --extended-insert
使用全新多行insert語法。(給出更緊縮并且更快的插入語句)
-#, --debug[=option_string]
跟蹤程序的使用(為了調(diào)試)。
--help
顯示一條幫助消息并且退出。
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
這些選擇與-t選擇一起使用,并且有相應(yīng)的load data infile子句相同的含義。
新聞熱點
疑難解答
圖片精選