sql 2009-03-24 14:06:43 閱讀122 評論0 字號:大中小
一、文件夾覆蓋備份法(網(wǎng)上教程)
目的:備份hostA主機中一個(gè)mysql數據庫TestA,并恢復到到hostB機中
試驗環(huán)境:
操作系統:WinXPsp2,Mysql4.1.8,MySQL-Front.
在hostA中安裝mysql數據庫并建立TestA數據庫
hostB機安裝mysql數據庫,沒(méi)有TestA數據庫
方法步驟:
啟動(dòng)MySQL-Front察看HostA和HostB中的數據庫列表,在HostB中沒(méi)有TestA數據庫
找到HostA中mysql的安裝目錄,并找到數據庫目錄data
在我的試驗環(huán)境中,這個(gè)目錄是
C:\Program Files\MySQL\MySQL Server 4.1\data
找到對應數據庫名稱(chēng)的子目錄
C:\Program Files\MySQL\MySQL Server 4.1\data\TestA
找到HostA中的目錄MySQL Datafiles
在我的試驗環(huán)境中,這個(gè)目錄是
C:\MySQL Datafiles
將這個(gè)目錄 覆蓋HostB的MySQL Datafiles目錄。
刷新HostB的MySQL-Front察看一下數據庫列表,我們看到TestA已經(jīng)出現,并且作查詢(xún)修改等操作都正常,備份恢復恢復成功。
試驗結論:Mysql的數據庫可以通過(guò)文件形式保存,備份,恢復只要將相應文件目錄恢復即可,無(wú)需使用其它工具備份。
本人測試結果:我使用的是MySQL 5.0.8的,經(jīng)過(guò)以上方法測試失??!
二、正規的方法(官方建議):
導出要用到MySQL的mysqldump工具,基本用法是:
mysqldump [OPTIONS] database [tables]
如果你不給定任何表,整個(gè)數據庫將被導出?!?/p>
一般使用的命令:
mysqldump --quick --database ondemand1 --u root >bacqup.sql
這樣就能把數據庫中ondemand1的表全部備份出來(lái)。
其中參數的格式是:--(兩橫杠,不是我們常用的單橫杠)
quick是在數據比較多的時(shí)候,不用該參數的話(huà),所有的數據都會(huì )先在內存緩存,接著(zhù)才導出,這樣會(huì )導致服務(wù)器運行減慢!
--u 必須要加一個(gè)用戶(hù)名,否則系統會(huì )提示你進(jìn)不了ODBC數據庫的。
>backup.sql則是你備份數據庫的目標文件名
數據導入:
可以使用MySQL-Front工具把上面導出的backup.sql數據庫導入執行。
以下導入方法未測試是否可行!
導出的是完整的SQL語(yǔ)句,所以用mysql客戶(hù)程序很容易就能把數據導入了:
mysqladmin create target_db_name
mysql target_db_name < backup-file.sql
聯(lián)系客服