當有數(shù)據更新時,管理員一定要及時的做好數(shù)據庫的備份工作,以防止意外情況的發(fā)生。正確、及時的進行數(shù)據庫備份能減少數(shù)據丟失后恢復數(shù)據庫的工作量。所以為了避免數(shù)據在災難后無法恢復,必須對數(shù)據庫進行備份。
1.MySQL數(shù)據庫的備份
數(shù)據庫的備份是指將數(shù)據庫轉換成對應的sql文件。數(shù)據庫導出sql腳本的命令如下:
- mysqldump –u用戶名 –p密碼 數(shù)據庫名>生成的腳本文件路徑;
以上備份數(shù)據庫的命令中需要用戶名和密碼,即表明該命令可以在用戶沒有登錄的情況下使用。
學完數(shù)據庫的備份和恢復后,很多人總是將備份與恢復的命令弄混淆,備份數(shù)據庫的命令中數(shù)據庫名后面的符號箭頭是指向生成的腳本文件路徑,可以理解為備份是由數(shù)據庫到sql文件。
(1)下面,我們先來查看MySQL服務器中有多少數(shù)據庫,如圖1-1所示:
(2)將user數(shù)據庫備份到F盤根目錄下的user.sql文件中,備份之前,該文件不存在,如圖1-2所示:
圖1-2 備份數(shù)據庫
需要注意的是,備份數(shù)據庫的語句后面不能加“;”,否則就會失敗。
(3)在F盤下查看是否有user.sql文件,如圖1-3所示:
圖1-3 生成的備份文件
(4)打開圖1-3中的user.sql文件,如圖1-4所示:
圖1-4 user.sql
user.sql文件中是user數(shù)據庫中創(chuàng)建表,以及操作表的一些sql語句,但是并不包含創(chuàng)建user數(shù)據庫的sql語句,因此數(shù)據庫備份,備份的只是數(shù)據庫的內容,而不是數(shù)據庫。
2.MySQL數(shù)據庫的恢復
數(shù)據庫的恢復指的是使用備份產生的sql文件恢復數(shù)據庫,即將sql文件中的sql語句執(zhí)行就可以恢復數(shù)據庫內容。
因為數(shù)據庫備份只是備份了數(shù)據庫內容,所以備份產生的sql文件中沒有創(chuàng)建數(shù)據庫的sql語句,在恢復數(shù)據庫之間需要自己動手創(chuàng)建數(shù)據庫。
恢復數(shù)據庫有兩種方式,分別是:
- mysql -u用戶名 -p密碼 數(shù)據庫<腳本文件路徑:這種方式不用登陸數(shù)據庫;
- source SQL腳本路徑:使用這種方式恢復數(shù)據,首先要登錄數(shù)據庫。
2.1恢復數(shù)據庫的第一種方式
首先將user數(shù)據庫刪除,然后使用第一種命令方式恢復數(shù)據庫。
(1)將user數(shù)據庫刪除,如圖1-5所示:
圖1-5 刪除user數(shù)據庫
(2)創(chuàng)建數(shù)據庫user,如圖1-6所示:
圖1-6 創(chuàng)建user數(shù)據庫
注意,在執(zhí)行恢復數(shù)據命令之前,一定要先手動創(chuàng)建user數(shù)據庫。
(3)先退出mysql,然后使用恢復命令:mysql –uroot –p123 user<F:/user.sql,如圖1-7所示:
圖1-7 恢復user數(shù)據庫
(4)現(xiàn)在登錄mysql,然后查看user數(shù)據庫,如圖1-8所示:
圖1-8 user數(shù)據庫內容
由圖1-8可知,user數(shù)據庫恢復成功。
2.2恢復數(shù)據庫的第二種方式
恢復數(shù)據庫的第二種方式必須在登錄mysql的前提下,使用以下命令恢復數(shù)據庫:
(1)再次將user數(shù)據庫刪除,然后在創(chuàng)建一個user數(shù)據庫,最后切換到user數(shù)據庫,如圖1-9所示:
圖1-9 切換數(shù)據庫
注意在重新創(chuàng)建user之后,恢復數(shù)據庫之前一定要切換到user數(shù)據庫。
(2)使用以上命令恢復數(shù)據庫,如圖1-10所示:
圖1-10 恢復數(shù)據庫
(3)圖1-10中,恢復user數(shù)據庫成功,現(xiàn)在來查看user數(shù)據庫的內容,如圖1-11所示:
圖1-11 查看恢復成功的數(shù)據庫內容
由圖1-11可知,數(shù)據庫user恢復成功。
本文版權歸傳智播客java學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:傳智播客java學院