您好,登錄后才能下訂單哦!
數(shù)據(jù)備份的重要性
1、在生產(chǎn)環(huán)境中,數(shù)據(jù)的安全性是至關(guān)重要的,任何數(shù)據(jù)的丟失都可能產(chǎn)生嚴(yán)重的后果
2、造成數(shù)據(jù)丟失的原因
程序錯(cuò)誤
人為錯(cuò)誤
計(jì)算機(jī)失敗
磁盤失敗災(zāi)難(如地震等)和偷竊
數(shù)據(jù)庫(kù)備份的分類
一、從物理與邏輯的角度,備份可分為:
1、物理備份:對(duì)數(shù)據(jù)庫(kù)操作系統(tǒng)的物理文件(如數(shù)據(jù)文件、日志文件等)的備份
物理備份又可以分為脫機(jī)備份(冷備份)和聯(lián)機(jī)備份(熱備份):
-冷備份:是在關(guān)閉數(shù)據(jù)庫(kù)的時(shí)候進(jìn)行的
-熱備份:數(shù)據(jù)庫(kù)處于運(yùn)行狀態(tài),這種備份方法依賴于數(shù)據(jù)庫(kù)的日志文件
2、邏輯備份:對(duì)數(shù)據(jù)庫(kù)邏輯組件(如表等數(shù)據(jù)庫(kù)對(duì)象)的備份
二、從數(shù)據(jù)庫(kù)的備份策略角度, 備份可分為:
1、完全備份:每次對(duì)數(shù)據(jù)進(jìn)行完整的備份
2、差異備份:備份那些自從上次完全備份之后被修改過(guò)的文件
3、增量備份:只有那些在.上次完全備份或者增量備份后被修改的文件才會(huì)被備份
MySQL完全備份(全量備份)
1、完全備份是對(duì)整個(gè)數(shù)據(jù)庫(kù)的備份、數(shù)據(jù)庫(kù)結(jié)構(gòu)和文件結(jié)構(gòu)的備份
2、完全備份保存的是備份完成時(shí)刻的數(shù)據(jù)庫(kù)
3、完全備份是增量備份的基礎(chǔ)
完全備份的優(yōu)點(diǎn)
備份與恢復(fù)操作簡(jiǎn)單方便
完全備份的缺點(diǎn)
1.數(shù)據(jù)存在大量的重復(fù)
2.占用大量的備份空間
3.備份與恢復(fù)時(shí)間長(zhǎng)
mysqldump備份庫(kù)
一、MySQL數(shù)據(jù)庫(kù)的備份可以采用用多種方式
1.直接打包數(shù)據(jù)庫(kù)文件夾,如/usr/local/mysql/data
2.使用專用備份工具mysqldump
二、mysqldump命令
1.MySQL自帶的備份工具,相當(dāng)方便對(duì)MySQL進(jìn)行備份
2.通過(guò)該命令工具可以將指定的庫(kù)、表或全部的庫(kù)導(dǎo)出為SQL腳本,在需要恢復(fù)時(shí)可進(jìn)行數(shù)據(jù)恢復(fù)
三、使用mysqldump命令對(duì)單個(gè)數(shù)據(jù)庫(kù)進(jìn)行完全備份
mysqldump -u用戶名-p [密碼] [選項(xiàng)] [數(shù)據(jù)庫(kù)名] > /備份路徑/備份文件名
四、使用mysqldump命令對(duì)多個(gè)庫(kù)進(jìn)行完全備份
mysqldump -u 用戶名 -p [密碼] [選項(xiàng)] --databases 庫(kù)名1 [庫(kù)名2]... >/備份路徑/備份文件名
五、使用mysqldump命令對(duì)所有庫(kù)進(jìn)行完全備份
mysqldump -u用戶名-p [密碼] [選項(xiàng)] --all-databases > /備份路徑/
mysqldump備份表
在實(shí)際生產(chǎn)環(huán)境中,存在對(duì)某個(gè)特定表的維護(hù)操作,此時(shí)mysqldump同樣發(fā)揮重大作用
1.使用mysqldump備份表的操作
mysqldump -u 用戶名 -p [密碼] [選項(xiàng)] 數(shù)據(jù)庫(kù)名 表名 > /備份路徑/備份文件名
2.使用mysqldump備份表結(jié)構(gòu)的操作
mysqldump -u 用戶名 -p [密碼] [選項(xiàng)] -d 數(shù)據(jù)庫(kù)名 表名 > /備份路徑/備份文件名
MySQL增量備份
增量備份就是備份自上一次備份之后增加或變化的文件或者內(nèi)容
增量備份的特點(diǎn)
●沒(méi)有重復(fù)數(shù)據(jù),備份量不大,時(shí)間短
●恢復(fù)麻煩:需要上次完全備份及完全備份之后所有的增量備份才能恢復(fù),而且要對(duì)所有增量備份進(jìn)行逐個(gè)反推恢復(fù)
MySQL沒(méi)有提供直接的增量備份方法
可以通過(guò)MySQL提供的二進(jìn)制日志(binary logs)間接實(shí)現(xiàn)增量備份
MySQL二進(jìn)制日志對(duì)備份的意義
●二進(jìn)制日志保存了所有更新或者可能更新數(shù)據(jù)庫(kù)的操作
●二進(jìn)制日志在啟動(dòng)MySQL服務(wù)器后開始記錄,并在文件達(dá)到max_ binlog_size所設(shè)置的大小或者接收到flush logs命令后重新創(chuàng)建新的日志文件
●只需定時(shí)執(zhí)行flush logs方法重新創(chuàng)建新的日志,生成二進(jìn)制文件序列,并及時(shí)把這些舊的日志保存到安全的地方就完成了一個(gè)時(shí)間段的增量備份
MySQL數(shù)據(jù)庫(kù)增量恢復(fù)
基于位置回復(fù)
就是將某個(gè)起始時(shí)間的二進(jìn)制日志導(dǎo)入數(shù)據(jù)庫(kù)中,從而跳過(guò)某個(gè)發(fā)生錯(cuò)誤的時(shí)間點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的恢復(fù)
基于時(shí)間點(diǎn)恢復(fù)
使用基于時(shí)間點(diǎn)的恢復(fù),可能會(huì)出現(xiàn)在一個(gè)時(shí)間點(diǎn)里既同時(shí)存在正確的操作又存在錯(cuò)誤的操作,所以我們需要一種更為精確的恢復(fù)方式
增量恢復(fù)的方法
1.一般恢復(fù)
mysqlbinlog [--no-defaults]增量備份文件 | mysql -u用戶名 -p
2.基于位置的恢復(fù)
恢復(fù)數(shù)據(jù)到指定位置
mysqlbinlog --stop-position=操作'id' 1進(jìn)制日志 | mysql -u用戶名 -p 密碼
從指定的位置開始恢復(fù)數(shù)據(jù)
mysqlbinlog --start-position=操作'id'二進(jìn)制日志 | mysql -u用戶名 -p 密碼
3.基于時(shí)間點(diǎn)的恢復(fù)
從日志開頭截止到某個(gè)時(shí)間點(diǎn)的恢復(fù)
mysqlbinlog [--no-defaults] --stop-datetime='年-月-日 小時(shí):分鐘:秒'二進(jìn)制日志 | mysql -u用戶名 -p 密碼
某個(gè)時(shí)間點(diǎn)到日志結(jié)尾的恢復(fù)
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小時(shí):分鐘:秒'二進(jìn)制日志 | mysql -u用戶名 -p 密碼
從某個(gè)時(shí)間點(diǎn)到某個(gè)時(shí)間點(diǎn)的恢復(fù)
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小時(shí):分鐘:秒' --stop-datetime='年-月-日 小時(shí):分鐘:秒'二進(jìn)制日志 | mysql
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。