背景
歐洲中部時間10月17日晚上10點45分左右,Keepthescore的創始人兼程式員在幾杯紅酒下肚後,無意中删除了生産資料庫。超過300.00個記分牌及相關資料頓時人間蒸發。值得慶幸的是,該公司每天自動執行一次備份。經曆了5分鐘的緊張和恐慌後,Keepthescore從業人員借助備份在晚上11點15左右恢複增常,即災難發生後30分鐘恢複,但是7個小時的記分牌資料永遠消失了。
簡介
存儲有價,資料無價。随着科學技術的發展,越來越多的企業都開始使用到計算機資料庫來存取公司的各類資料,特别是一些關系到企業整體營運情況的核心資料。一旦出現伺服器崩潰,核心資料丢失,可能會影響企業的重要業務導緻企業無法正常運轉,甚至面臨災難性後果。是以對這些重要的資料進行備份這一步驟顯得尤為重要。備份的主要目的是一旦出現上述不測能夠使用已備份的資料進行災難恢複,避免各種資料災難的發生。
問題分析
阿裡雲提供了資料庫備份(Database Backup,簡稱DBS)服務, 它能夠為據庫提供連續資料保護、低成本的備份與恢複服務。它可以為多種環境的資料提供強有力的保護。DBS可以定時全量備份、周期增量備份、實時增量日志備份,可以精确到任意時間點的資料恢複。為了提供更簡便快速的恢複,DBS提供一鍵恢複到RDS,支援包括MySQL,SQL Server等常用資料庫。
如果類似的Keepthescore的醉酒跑路再次發生,DBS可以保障實時資料可快速恢複,分鐘内的資料不丢失。
下面詳細介紹一下MySQL的一鍵恢複到RDS功能。
DBS的Mysql備份有增量備份與日志備份,可以支援任意時間的資料恢複,能夠有效地保證客戶的資料安全,具備低RPO、RTO的特點。
一鍵恢複到RDS介紹
客戶發起資料庫恢複時,DBS一鍵恢複功能會根據中繼資料資訊推算出執行個體配置,使用者也可以調整執行個體配置,然後DBS通過使用者賬号來自動建立RDS MySQL按量付費執行個體,整個恢複過程變得更簡單。
支援場景
1.克隆新資料庫執行個體,運用到災備場景;
2.快速恢複(自動建立,自動恢複);
3.備份巡檢 (恢複計劃、恢複報告);
傳統的DBS邏輯恢複分為如下5個步驟,如圖所示

以下簡要介紹下這5個步驟:
1.預檢查
主要是備份的資料是否可通路。恢複的資料庫是否能夠聯通,賬戶密碼檢查等
2.結構恢複
主要恢複庫表結構,用于建立資料庫,建立資料表。
3.全量恢複
恢複全量備份的資料。
4.增量恢複
Mysql binlog的恢複,可以将資料恢複到指定的時間點。
5.附加結構恢複
主要是觸發器及外鍵的恢複。
由此可見,在預檢查執行前客戶就必須準備好伺服器,搭建好mysql資料庫,建立好賬戶并完成授權等一系列複雜耗時操作。而Mysql一鍵恢複到RDS 功能 則免除了上述複雜操作,大大減輕了客戶的工作量,使得使用者可以專注于自己的資料。
Mysql一鍵恢複到RDS包含如下步驟,如圖所示
由此可見,在預檢查之後,基礎結構恢複之前增加了一個建立資料庫執行個體的步驟。同時對預檢查内容也進行了調整,不再檢查目标資料庫執行個體的連通性,賬戶等。
建立資料庫執行個體包含如下内容:
1.建立資料庫執行個體
建立的資料庫執行個體規格是可選的,預設會按照備份源的規格進行建立
2.循環檢查DBS執行個體建立狀态
由于建立資料庫執行個體是需要一定的時間,一般在5分鐘左右,是以本階段會定期查詢資料庫狀态,如果建立失敗,如賬戶餘額不足等則會報錯。反之如果建立成功則會進入下一步驟。
3.初始化通路RDS的資訊
主要完成:1、建立RDS執行個體管理賬戶;2、建立通路RDS的連接配接位址;3、将DBS伺服器設定為RDS的白名單
建立資料庫執行個體完成後,則可繼續随後的基礎結構恢複,全量恢複,增量恢複,附加結構恢複等。
這些步驟完成之後資料即完成了恢複。客戶可以直接使用建立好的資料庫執行個體用于線上業務,測試等,使得恢複變得更加簡單,大大減少了客戶恢複的工作量,使得使用者可以專注于自己的資料。