數據備份與還原
意義
1、提高系統的可用性和災難可恢復性,在數據庫系統崩潰的時候,沒有數據庫備份就沒法找到數據。
2、使用數據庫備份還原數據庫是數據庫系統崩潰時提供數據恢復最小代價的最優方案,如果讓客戶重新填報數據,代價那就太大了。
3、沒有數據就沒有一切,數據庫備份就是一種防范災難於未然的強力手段,沒有了數據,應用再花哨也是鏡中花水中月。
整庫備份與還原
整庫數據備份也叫SQL數據備份,備份的結果都是SQL指令
在mysql中提供了一個專門用於備份SQL的客戶端:mysqldump.exe
應用場景
SQL備份是一種mysql非常常見的備份與還原方式,SQL備份不只是備份數據,還備份對應的SQL指令(表結構),即便是數據庫遭到毀滅性的破壞(數據庫被刪除),那么利用SQL備份依然可以實現數據還原。
SQL備份因為需要備份結構,因此產生的備份文件特別大,因此不適合特大型數據備份,也不適合數據變換頻繁性的數據庫備份
應用方案
SQL備份
SQL備份用到的是專門的備份客戶端,因此還沒有與數據庫服務器進行連接。
基本語法:mysqldump/ mysqldump.exe -hPup 數據庫名字 [表1 [表2 …]] > 備份文件地址
-hPup:ip地址 端口 用戶 密碼
備份可以有三種形式:
1、整庫備份(只需要提供數據庫名字)
2、單表備份:數據庫后面跟一張表
3、多表備份:數據庫后面跟多張表
查看備份文件
數據還原
Mysql提供了多種方式來實現,兩種:
Mysqldump備份的數據中沒有關於數據庫本身的操作,都是針對表級別的操作,當進行數據(SQL還原),必須指定數據庫
1、利用mysql.exe客戶端,沒有登錄之前,可以直接用該客戶端進行數據還原
mysql.exe -hPup 數據庫 < 文件位置
2、在SQL指令,提供了一種導入SQL指令的方式
source SQL文件位置;//必須先進入到對應的數據庫
3、人為操作:打開備份文件,備份所有SQL指令,然后到mysql.exe 客戶端中去粘貼執行(不推薦)