數據庫回檔解決方案


歡迎大家前往騰訊雲+社區,獲取更多騰訊海量技術實踐干貨哦~

本文由騰訊雲數據庫 TencentDB 發表於雲+技術周刊特別版

作者介紹:李明,騰訊雲數據庫架構師華南區負責人,曾在某專業數據庫服務商、51job任職DBA。

作為一名DBA,日常工作中免不了需要做一些救火的事情,比如DB使用人員在使用過程中update、delete手誤沒有寫where條件、游戲程序bug導致玩家裝備異常……,此時的你是不需要找一台機器,然后拉取下今天的備份,然后還原,必要的時候還需在解析下binlog,然后在把需要恢復的數據導入到誤操作的實例上,是不感覺步驟好繁瑣,浪費時間?

若你是一名雲數據庫DBA且使用的是騰訊雲數據庫,用控制台點點按鈕,后台幫你自動回檔到任意時間點(具體參看官網文檔),是不是為你節約了時間?這個時間你可以用來泡杯“菊花枸杞茶”、為相關人員普及一下“如何正確使用數據庫”等……,把時間浪費在美好的事情上,這才是我們的追求嘛。

本文詳細講解,騰訊雲數據庫是如何做到讓你有時間浪費在美好事情上呢?

Redis

Redis作為當前系統架構中不可或缺的潤滑劑,已在各類應用中得到廣泛的應用。當前TencentDB for Redis支持整實例恢復、指定key恢復。

1、恢復實例

  1. 在”備份與恢復”中,選中需要回檔的備份,點擊【恢復實例】

  2. 在彈出的恢復實例確認框中,輸入實例密碼,點擊【恢復】

注意:此處需要輸入的密碼為用戶設置的實例密碼,並非訪問實例時所用的<實例ID:實例密碼>鏈接密碼

img

  1. 實例進入”按備份Id恢復備份中”,可在任務中心查看任務狀態,待實例狀態進入”實例運行中”即可正常使用

img

2、恢復指定Key

1) 在”備份與恢復”中,選中需要回檔的備份,點擊【恢復實例】

2) 在彈出的恢復實例確認框中,輸入實例密碼,點擊【下一步】

注意:此處需要輸入的密碼為用戶設置的實例密碼,並非訪問實例時所用的<實例ID:實例密碼>鏈接密碼

img

  1. 輸入需要從備份中恢復的key,多key之間以英文分號做間隔,點擊【完成】,實例進入”按key恢復備份中”狀態,可在任務中心查看任務狀態,待實例狀態進入”實例運行中”即可正常使用

img

img

MySQL

MySQL是數據庫產品中目前用戶數最大且存儲增速最塊的品種,TencentDB for MySQL當前支持整實例、選庫、選表恢復,誤操作的數據會恢復到原實例中。

1、實例回檔

1)進入所需要回檔的實例后,點擊【回檔】按鈕。

img

2)點擊進入回檔提交頁面,選擇所需要回檔的庫或表(如需回檔整個實例,請全選),以及需要回檔至的時間點(單實例回檔),確認無誤后提交回檔任務。

img

3)回檔完成后,可在原實例中看到回檔后的新庫表。

2、批量回檔

img

1)勾選所需要回檔的實例后,選擇【更多操作】->【批量回檔】。

2)點擊進入回檔提交頁面,選擇所需要回檔的庫或表(如需回檔整個實例,請全選),以及需要回檔至的時間點(單實例回檔),確認無誤后提交回檔任務。

img

回檔完成后,可在原實例中看到回檔后的新庫表。

3、查看回檔日志和進度

回檔過程中,可實時查詢回檔的進度.

img

4、回檔原理

1.原理

最近一次冷備+對應的binlog 回檔到指定時間點

2.流程

img

1.冷備系統每天會從MySQL從機導出數據到冷備系統;

2.回檔時,首先從回檔系統申請一台回檔實例,然后從冷備系統導出冷備數據導入臨時實例(根據回檔方式導入不同數據);

3.回檔實例和MySQL主實例建立主從關系,並設置需要回檔的時間和數據庫表;

4.將回檔后的數據庫表拷貝到MySQL主實例;

3.功能

1.支持主實例回檔,不支持只讀實例和災備實例回檔

2.支持7天內任意時間點回檔,具體時間有MySQL實例的冷備和Binlog決定

3.支持三種回檔方式:

o普通:導入該實例的全量備份,再在對選中的庫、表進行回檔。該回檔模式無限制,但回檔速度較慢。

o快速:僅導入所選中庫級別的備份和binlog,如有跨庫操作,且關聯庫未被同時選中,將會導致回檔失敗

o極速:僅導入所選中表級別的備份和binlog,如有跨表操作,且關聯表未被同時選中,將會導致回檔失敗

4.限制

1.目前只支持指定庫表回檔,回檔后的庫表會回寫到源實例(需要重命名),不支持整實例回檔

2.一次最多選擇任意數量個實例 (需要限制一次選擇的最大實例數量)

3.所有回檔實例總共最多選擇20個庫表 (需要改成一個庫表最大選擇20個庫表)

4.選擇的庫表只能包含數字、字母、下划線

5.並發控制:流程限制總共同時發起10個任務,每個AppId同時發起5個任務

5.注意點

1.如果需要回檔的庫表不存在,在頁面操作時,需要先創建庫表,再選擇。

SQL server

TencentDB For SQL Server完美支持Windows平台的.NET架構,附帶微軟企業版許可授權,大大節約企業成本。TencentDB for SQL Server的全量備份和日志備份保存7天,因此可以回檔到7天內的任意時刻。

1、回檔

1.進行實例詳情頁,點擊回檔按鈕

img

2.設置需要回檔的數據庫,回檔時間和是否覆蓋原庫,並進入下一步

img

3.確認設置的參數后,點擊“回檔”按鈕,啟動回檔任務

img

4.實例狀態變成“任務執行中”,可在任務列表中查看回檔進度

img

5.回檔成功,由於之前選擇不覆蓋原庫,因此可以在數據庫管理頁看到生成的復制庫

img

注意:回檔目前僅支持在本地實例進行,可以選擇覆蓋原庫或生成一份復制庫。如果選擇生成一份復制庫,則需要注意回檔后的磁盤空間不能超過實例可用的磁盤空間,否則會出現回檔失敗

2、回檔原理

原理:

img

備份服務:

每天發起1次完整備份,20分鍾發起1次日志備份

問答

有哪些常見的數據層容災架構?

相關閱讀

關於客戶“前沿數控”數據完整性受損的技術復盤

就算雲廠商水逆了,服務也不能倒

軟件領域沒有銀彈 —— 建立正確的雲計算認知

此文已由作者授權騰訊雲+社區發布,原文鏈接:https://cloud.tencent.com/developer/article/1180540?fromSource=waitui

歡迎大家前往騰訊雲+社區或關注雲加社區微信公眾號(QcloudCommunity),第一時間獲取更多海量技術實踐干貨哦~

海量技術實踐經驗,盡在雲加社區! https://cloud.tencent.com/developer?fromSource=waitui


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM