第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 MySQL 進(jìn)階教程 MySQL 進(jìn)階教程 MySQL 數(shù)據(jù)庫的備份與恢復(fù)

MySQL 數(shù)據(jù)庫的備份與恢復(fù)

數(shù)據(jù)庫的備份與恢復(fù),一直都是DBA最為重要的工作,任何生產(chǎn)環(huán)境的數(shù)據(jù)庫都必須有完整的備份方案與恢復(fù)測試。本小節(jié)將主要介紹MySQL的備份與恢復(fù)。

1. 備份的理由

備份重于一切!備份是DBA最后一根救命稻草……以下幾個(gè)是數(shù)據(jù)庫備份的重要理由:

  • 災(zāi)難恢復(fù)

系統(tǒng)總是要崩潰的,服務(wù)器總是要發(fā)生故障的,甚至于機(jī)房被燒毀、黑客攻擊,如果發(fā)生這些情況時(shí),沒有有效的備份,只能等死。

  • 操作失誤

開發(fā)人員在修改某些數(shù)據(jù)后,發(fā)現(xiàn)操作失誤,需要恢復(fù)這些數(shù)據(jù)。

  • DB審計(jì)

有時(shí)候需要知道數(shù)據(jù)庫在過去某個(gè)時(shí)間點(diǎn)有什么樣的數(shù)據(jù)。

  • 測試環(huán)境

開發(fā)人員需要定期用最新的生產(chǎn)數(shù)據(jù)庫的數(shù)據(jù)恢復(fù)至測試環(huán)境,用于開發(fā)驗(yàn)證。如果有備份,那就很簡單,直接用備份文件還原到測試環(huán)境即可。

2. 恢復(fù)需求的定義

在規(guī)劃備份和恢復(fù)的策略時(shí),有兩個(gè)指標(biāo)需要考量:RPO和RTO。

  • RPO(恢復(fù)點(diǎn)目標(biāo)): Recovery Point Objective,可以容忍丟多少數(shù)據(jù)

  • RTO(恢復(fù)時(shí)間目標(biāo)): Recovery Time Objective,需要等待多久才將數(shù)據(jù)恢復(fù)

在定義具體的RPO和RTO時(shí),我們需要明確以下問題:

  • 可以容忍丟失多少數(shù)據(jù)?
  • 可以容忍多長時(shí)間內(nèi)恢復(fù)正常服務(wù)?哪種類型的宕機(jī)是可以接受的?部分服務(wù)不可用是否可以接受?
  • 需要恢復(fù)什么?單表/部分表?整個(gè)數(shù)據(jù)庫?還是整個(gè)服務(wù)器?

3. 備份方案的設(shè)計(jì)

將RPO和RTO定義清楚,可以更好地指導(dǎo)備份策略。一般來說,能承受的數(shù)據(jù)丟失越多,備份就越簡單。

一個(gè)好的備份方案,需要考量以下幾點(diǎn):

  • 對于較大數(shù)據(jù)庫(個(gè)人經(jīng)驗(yàn)是整個(gè)數(shù)據(jù)文件大于50GB),物理備份是必須的,備份工具Percona XtraBackup和MySQL Enterprise Backup是比較好的選擇。對于較小的數(shù)據(jù)庫,邏輯備份就可以滿足備份需求,備份工具mysqldump是比較好的選擇;
  • 確保MySQL的log-bin選項(xiàng)是打開的,有了binlog,MySQL才能做完整的恢復(fù)、基于時(shí)間點(diǎn)的恢復(fù)、以及基于位置的恢復(fù);
  • 備份二進(jìn)制日志,用于故障時(shí)間點(diǎn)的恢復(fù);
  • 在存儲資源許可的條件下,保留足夠多的備份集;
  • 定期從備份中進(jìn)行恢復(fù)測試;
  • 需確保備份文件是有效的,是可以恢復(fù)的;
  • 通過恢復(fù)演練,測算恢復(fù)鎖需要的實(shí)際時(shí)間,以及所需要的資源,如CPU、磁盤空間、內(nèi)存、網(wǎng)絡(luò)等。

4. 小結(jié)

本小節(jié)主要介紹了MySQL恢復(fù)需求的定義和備份方案的設(shè)計(jì),備份和恢復(fù)在任何數(shù)據(jù)庫都是非常重要的部分,好的備份方法和策略,會使數(shù)據(jù)庫備份更高效也更安全。

重要的事情說三遍:

備份重于一切!

備份重于一切!

備份重于一切!