詳情描述
MySQL數(shù)據(jù)庫備份與還原
備份和恢復(fù)數(shù)據(jù)
生成duSQL腳本
在控制zhi臺(tái)使用mysqldump命令可以用來生成指定數(shù)據(jù)庫的dao腳本文本,但要注意,腳本文本中只包含數(shù)據(jù)庫的內(nèi)容,而不會(huì)存在創(chuàng)建數(shù)據(jù)庫的語句!所以在恢復(fù)數(shù)據(jù)時(shí),還需要自已手動(dòng)創(chuàng)建一個(gè)數(shù)據(jù)庫之后再去恢復(fù)數(shù)據(jù)。
mysqldump u用戶名 p密數(shù)據(jù)庫名生成的腳本文件路徑
現(xiàn)在可以在C盤下找到mydb1.sql文件了!
注意,mysqldump命令是在Windows控制臺(tái)下執(zhí)行,無需登錄mysql
執(zhí)行SQL腳本
執(zhí)行SQL腳本需要登錄mysql,然后進(jìn)入指定數(shù)據(jù)庫,才可以執(zhí)行SQL腳本
執(zhí)行SQL腳本不只是用來恢復(fù)數(shù)據(jù)庫,也可以在平時(shí)編寫SQL腳本,然后使用執(zhí)行SQL 腳本來操作數(shù)據(jù)庫!大家都知道,在黑屏下編寫SQL語句時(shí),就算發(fā)現(xiàn)了錯(cuò)誤,可能也不能修改了。所以我建議大家使用腳本文件來編寫SQL代碼,然后執(zhí)行之!
SOURCE C:mydb1.sql
注意,在執(zhí)行腳本時(shí)需要先行核查當(dāng)前數(shù)據(jù)庫中的表是否與腳本文件中的語句有沖突!例如在腳本文件中存在create table a的語句,而當(dāng)前數(shù)據(jù)庫中已經(jīng)存在了a表,那么就會(huì)出錯(cuò)!
還可以通過下面的方式來執(zhí)行腳本文件:
mysql -uroot -p123 mydb1
mysql u用戶名 p密數(shù)據(jù)庫要執(zhí)行腳本文件路徑
這種方式無需登錄mysql!
傳統(tǒng)的數(shù)據(jù)庫備份、磁帶備份沒有全局位圖信息,需要在備份時(shí)掃描所有數(shù)據(jù),即使數(shù)據(jù)沒有發(fā)生變化,這就導(dǎo)致在增量備份時(shí),數(shù)據(jù)塊的掃描時(shí)間,將成為較耗時(shí)的操作。尤其是當(dāng)用戶的OracleMysqlmysql數(shù)據(jù)庫存在大量的靜態(tài)數(shù)據(jù)時(shí),在增加了整個(gè)系統(tǒng)負(fù)荷的同時(shí),還降低了備份效率
而在Ucache OracleMysql 保護(hù)模式下,在備份開始時(shí),就建立了所有數(shù)據(jù)塊的位圖信息,且支持記錄數(shù)據(jù)塊變化時(shí)的相應(yīng)位圖信息。因此,在增量備份時(shí),根據(jù)位圖信息定位變化數(shù)據(jù)塊,直接備份變化的數(shù)據(jù)塊。與此同時(shí) 備份 OracleMysql 支持第三代重復(fù)數(shù)據(jù)刪除技術(shù),不僅能夠從源端進(jìn)行冗余數(shù)據(jù)刪除,還支持任務(wù)級(jí)別的重刪,可按照不同類型的備份任務(wù)而在指定范圍內(nèi)識(shí)別冗余數(shù)據(jù)。
相對(duì)于傳統(tǒng)的全庫掃描,Ucache備份方式不僅在縮短備份時(shí)間上擁有顯著成效,更在數(shù)據(jù)的可恢復(fù)性上有了更好的保證。在當(dāng)前數(shù)據(jù)不斷膨脹的趨勢(shì)下,這種備份方式,極大地提升了備份效率和數(shù)據(jù)安全性,解決了大型OracleMysql數(shù)據(jù)庫的數(shù)據(jù)保護(hù)難題。