教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

JAVA培訓(xùn)之MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù)

更新時(shí)間:2016年10月18日17時(shí)58分 來(lái)源:傳智播客JAVA培訓(xùn)學(xué)院 瀏覽次數(shù):

當(dāng)有數(shù)據(jù)更新時(shí),管理員一定要及時(shí)的做好數(shù)據(jù)庫(kù)的備份工作,以防止意外情況的發(fā)生。正確、及時(shí)的進(jìn)行數(shù)據(jù)庫(kù)備份能減少數(shù)據(jù)丟失后恢復(fù)數(shù)據(jù)庫(kù)的工作量。所以為了避免數(shù)據(jù)在災(zāi)難后無(wú)法恢復(fù),必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份。

1.MySQL數(shù)據(jù)庫(kù)的備份

數(shù)據(jù)庫(kù)的備份是指將數(shù)據(jù)庫(kù)轉(zhuǎn)換成對(duì)應(yīng)的sql文件。數(shù)據(jù)庫(kù)導(dǎo)出sql腳本的命令如下:
  • mysqldump –u用戶名 –p密碼 數(shù)據(jù)庫(kù)名>生成的腳本文件路徑;
以上備份數(shù)據(jù)庫(kù)的命令中需要用戶名和密碼,即表明該命令可以在用戶沒有登錄的情況下使用。
學(xué)完數(shù)據(jù)庫(kù)的備份和恢復(fù)后,很多人總是將備份與恢復(fù)的命令弄混淆,備份數(shù)據(jù)庫(kù)的命令中數(shù)據(jù)庫(kù)名后面的符號(hào)箭頭是指向生成的腳本文件路徑,可以理解為備份是由數(shù)據(jù)庫(kù)到sql文件。
(1)下面,我們先來(lái)查看MySQL服務(wù)器中有多少數(shù)據(jù)庫(kù),如圖1-1所示:

(2)將user數(shù)據(jù)庫(kù)備份到F盤根目錄下的user.sql文件中,備份之前,該文件不存在,如圖1-2所示:

圖1-2 備份數(shù)據(jù)庫(kù)
需要注意的是,備份數(shù)據(jù)庫(kù)的語(yǔ)句后面不能加“;”,否則就會(huì)失敗。
(3)在F盤下查看是否有user.sql文件,如圖1-3所示:

圖1-3 生成的備份文件
(4)打開圖1-3中的user.sql文件,如圖1-4所示:

圖1-4 user.sql
user.sql文件中是user數(shù)據(jù)庫(kù)中創(chuàng)建表,以及操作表的一些sql語(yǔ)句,但是并不包含創(chuàng)建user數(shù)據(jù)庫(kù)的sql語(yǔ)句,因此數(shù)據(jù)庫(kù)備份,備份的只是數(shù)據(jù)庫(kù)的內(nèi)容,而不是數(shù)據(jù)庫(kù)。

2.MySQL數(shù)據(jù)庫(kù)的恢復(fù)

數(shù)據(jù)庫(kù)的恢復(fù)指的是使用備份產(chǎn)生的sql文件恢復(fù)數(shù)據(jù)庫(kù),即將sql文件中的sql語(yǔ)句執(zhí)行就可以恢復(fù)數(shù)據(jù)庫(kù)內(nèi)容。
因?yàn)閿?shù)據(jù)庫(kù)備份只是備份了數(shù)據(jù)庫(kù)內(nèi)容,所以備份產(chǎn)生的sql文件中沒有創(chuàng)建數(shù)據(jù)庫(kù)的sql語(yǔ)句,在恢復(fù)數(shù)據(jù)庫(kù)之間需要自己動(dòng)手創(chuàng)建數(shù)據(jù)庫(kù)。
恢復(fù)數(shù)據(jù)庫(kù)有兩種方式,分別是:
  • mysql -u用戶名 -p密碼 數(shù)據(jù)庫(kù)<腳本文件路徑:這種方式不用登陸數(shù)據(jù)庫(kù);
  • source SQL腳本路徑:使用這種方式恢復(fù)數(shù)據(jù),首先要登錄數(shù)據(jù)庫(kù)。
2.1恢復(fù)數(shù)據(jù)庫(kù)的第一種方式
首先將user數(shù)據(jù)庫(kù)刪除,然后使用第一種命令方式恢復(fù)數(shù)據(jù)庫(kù)。
(1)將user數(shù)據(jù)庫(kù)刪除,如圖1-5所示:

圖1-5 刪除user數(shù)據(jù)庫(kù)
(2)創(chuàng)建數(shù)據(jù)庫(kù)user,如圖1-6所示:

圖1-6 創(chuàng)建user數(shù)據(jù)庫(kù)
注意,在執(zhí)行恢復(fù)數(shù)據(jù)命令之前,一定要先手動(dòng)創(chuàng)建user數(shù)據(jù)庫(kù)。
(3)先退出mysql,然后使用恢復(fù)命令:mysql –uroot –p123 user<F:/user.sql,如圖1-7所示:

圖1-7 恢復(fù)user數(shù)據(jù)庫(kù)
(4)現(xiàn)在登錄mysql,然后查看user數(shù)據(jù)庫(kù),如圖1-8所示:

圖1-8 user數(shù)據(jù)庫(kù)內(nèi)容
由圖1-8可知,user數(shù)據(jù)庫(kù)恢復(fù)成功。
2.2恢復(fù)數(shù)據(jù)庫(kù)的第二種方式
恢復(fù)數(shù)據(jù)庫(kù)的第二種方式必須在登錄mysql的前提下,使用以下命令恢復(fù)數(shù)據(jù)庫(kù):
  • source SQL腳本路徑
(1)再次將user數(shù)據(jù)庫(kù)刪除,然后在創(chuàng)建一個(gè)user數(shù)據(jù)庫(kù),最后切換到user數(shù)據(jù)庫(kù),如圖1-9所示:

圖1-9 切換數(shù)據(jù)庫(kù)
注意在重新創(chuàng)建user之后,恢復(fù)數(shù)據(jù)庫(kù)之前一定要切換到user數(shù)據(jù)庫(kù)。
(2)使用以上命令恢復(fù)數(shù)據(jù)庫(kù),如圖1-10所示:

圖1-10 恢復(fù)數(shù)據(jù)庫(kù)
(3)圖1-10中,恢復(fù)user數(shù)據(jù)庫(kù)成功,現(xiàn)在來(lái)查看user數(shù)據(jù)庫(kù)的內(nèi)容,如圖1-11所示:

圖1-11 查看恢復(fù)成功的數(shù)據(jù)庫(kù)內(nèi)容
由圖1-11可知,數(shù)據(jù)庫(kù)user恢復(fù)成功。


本文版權(quán)歸傳智播客java學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客java學(xué)院
0 分享到:
和我們?cè)诰€交談!