備份恢復,DBA最後一道防線,你完全掌握了嗎?

2020-12-12 騰訊網

墨墨導讀:備份恢復是DBA最後一道防線。最近項目碰到備份恢復的相關的事項,結合自己的經驗,鞏固一下知識。

怎樣理解備份恢復

MySQL使用環境中,基本都會搭建高可用架構最基本的主從,當主庫發生故障導致無法使用的時,可以切換從節點提供服務。

那如果:

刪除操作:DROP TABLE操作 ,在Row模式下,可以通過binlog進行恢復,那再如果DROP DATABASE,那就無法恢復了。

在一次遷移升級過程中,bug導致資料庫無法啟動

需要找回前兩天的數據

雲平臺全面癱瘓,雖然出現概率很小

這時可以通過之前備份+binglog進行恢復數據。

備份的目的是發生災難時進行恢復。

這裡提供幾個建議:

為了保證有效備份,需要考慮備份的擴展性以及用於備份有效性驗證的伺服器,還需要配合多種備份機制

建設統一的備份伺服器,備份伺服器僅從本地機房實例進行數據備份

備份異常時,需要有相應的處理機制保障下一次備份能夠正常進行

邏輯 物理備份 鏡像結合進行備份

對於恢復,沒有恢復的備份是無意義的,

所以需要

建設統一的恢復驗證伺服器,用於定期驗證備份有效性

通過定期恢復演練,確保備份的有效性

由於不可能所有備份都通過實際還原的方式進行校驗,使用文件MD5對比方式進行每日基礎校驗

備份恢復工具

MySQL方面各種備份手段:

備份恢復實現方式包含 物理 邏輯 商業軟體 虛擬機的整體備份。

常用的備份工具有三個:

邏輯導出:mysqldump,msyqlpump,mydumper

物理導出:xtrabackup。

1.mysqldump 是 MySQL 自帶的邏輯備份工具。

備份原理是通過協議連接到 MySQL 資料庫,將需要備份的數據查詢出來,將查詢出的數據轉換成對應的SQL語句,當需要還原這些數據時,只要執行這些SQL語句,即可將對應的數據還原。

2.xtrabackup是一款mysql開源備份(物理備份)工具,是由percona公司開發的。

3.mydumper是一個針對MySQL和Drizzle的高性能多線程備份和恢復工具,能多線程進行備份。

1.數據量少於10G以內使用mydumper,mysqldump 進行備份,其他備份建議xtrabackup

2.除了以上場景單表備份,表結構等導出的時候,建議使用邏輯導出。

3.mysqldump是單線程 mydumper是多線程,性能來說mydumper更優。

性能方面:mysqlpump>mydumper>mysqldump 但mysqlpump存在一些bug

4.處置之外MySQL8.0的clone功能確實非常不錯的功能,需要腳本配合,應該比xtrabackup優秀,就是業界使用經驗太少,後期繼續關注

備份策略:

對於不同的數據,可以採取不同的備份策略,結合全備和增量備份的方式,binlog也需要定期進行備份

以下是常用備份策略:

備份方面最佳實踐:

使用xtrabackup進行物理備份

使用mydumper進行邏輯備份(支持並行邏輯備份恢復)

備份文件存儲本地 或則 介質為NFS

使用binlog2sql進行閃回恢復.

對於重要系統,可以使用延遲從庫進行備份恢復

條件允許,系統級別每天額外每天進行鏡像備份,之後再做去重處理。

備份恢復注意

常見的備份失敗問題:

生產案例:

1.xtrabackup備份和恢復的GTID不一致:5.7和8.0都會存在

備份恢復的實例顯示已執行過的 GTID xtrabackup_binlog_info 文件記錄的信息是 1-9969,

而備份文件顯示的是 1-473

將該備份恢復至一個新實例並啟動該實例,執行 show master status; 查看信息:

分析

xtrabackup_binlog_info 文件中信息是有兩種情況獲取:全局系統變量 gtid_exected 或則 mysql.gtid_executed

這部分有興趣的技術同仁,可以深入研究。

解決方案:

備份前 FLUSH LOGS;之後通過show master 和 select * from mysql.gtid_executed; 確認gtid 是否一致。

也可以忽略掉, 通過GTID_PURGED方式處理

2.sql導致失敗的案例

堵塞語句kill(從開始執行FLUSH TABLES WITH READ LOCK):kill-long-query-type ,kill-long-queries-timeout

長查詢的語句:ftwrl-wait-query-type ,ftwrl-wait-timeout ,ftwrl-wait-threshold

no-lock:表示關閉FTWRL的表鎖

3.DDL語句導致失敗案例

xtrabackup在備份innoDB數據是,有2種線程:

redo拷貝線程和ibd數據拷貝線程。

xtrabackup進程開始執行後,會啟動一個redo拷貝的線程,用於從最新的checkpoint點開始順序拷貝redo.log;再啟動ibd數據拷貝線程,進行拷貝ibd數據。

但導致刷新redo 丟失的情況下,那備份就會失敗

刷新大量數據,或則 redo刷新跟不上

導致刷新redo丟失的情況下,那備份就會失敗

4.大量事務刷新日誌&IO性能差

Innodb產生日誌的速度遠超於Xtrabackup複製的速度,部分Innodb日誌被截斷,

導致備份失敗。

5.空間不足

所以備份的時候需要確認空間,mysql的tmp空間

6.備份軟體,處理機制不太友好

備份日誌裡已經報出錯誤,但xtrabackup線程一直存在。

MySQL報gone away錯誤的常見因素

1、MySQL連接超時(受參數wait_timeout和interactive_timeout控制)

2、MySQL連接被KILL

3、MySQL實例重啟

7.nfs掛載注意

從資料庫伺服器備份到NFS掛載,然後使用另一臺同樣掛載該卷的伺服器來準備備份(應用日誌),那麼其他伺服器對數據的視圖可能不一致。這是因為數據可能還沒有被刷新到NFS伺服器——它可能就在資料庫伺服器的緩存中。

https://www.percona.com/blog/2010/12/09/using-xtrabackup-on-nfs-for-mysql-backups/

8.恢復注意

mysql數據目錄賦予權限

必須清除原先的data目錄和binglog信息,不清楚會導致無法正常啟動 或則 啟動之後的binlog和gtid不一致問題

總結

日常工作中數據備份是非常重要的,操作前做好備份,當碰到問題點的時候,能給你帶來意想不到的便利。

不要懶惰,通過提供的平臺有效的利用多種備份手段,也非常重要

相關焦點

  • 讓你想了解容災備份
    僅僅一天時間,攜程網和App在28日完全登陸不上去,網上傳出攜程全線酒店資料庫物理刪除的消息,攜程官方也發布聲明稱,遭到不明攻擊,網站和App陷入癱瘓無法正常使用。而兩件事一前一後的發生,引發整個行業的關注,背後更多是對數據安全和保護的討論。
  • 松錦之戰,大明王朝的最後一道防線是怎樣崩潰的
    1619年明朝形勢公元1618年,掌握了整個女真部落政權的努爾哈赤,開始要「造反」了。但所謂出師有名,不能平白無故沒有緣由就挑起戰爭,總要有個「由頭」。(其實這一點並不完全是明王朝的問題,起初邊境周邊並不是建州女真的地盤,是後來被他們佔領的,明王朝害怕建州女真強大起來,自然也就不許他們在這裡種地,事實證明,明王朝的害怕是正確的。)在發表完這一通的「開戰宣言」後,努爾哈赤就開始領兵向明王朝出發,這一打就是26年,直到最後費力攻破了明王朝最後一道防線,才得以入主中原,建立滿清帝國。
  • 小米雲備份怎麼恢復?盤點小米手機備份恢復方法以及實用功能
    但很多人其實沒注意到MIUI真正的強大之處,接下來我就總結一下小米手機裡那些實用的功能,沒用過的趕快去試試吧,不會讓你失望!一、雙開前不久微信更新了個「切換帳號」的功能,引起了不少轟動,不過「切換帳號」跟「雙開」可不一樣,想要真正實現「微信雙開」,還得用其他工具來幫忙。
  • 微信記錄刪除了如何恢復?iCloud雲備份恢復了解下
    怎麼恢復刪除的聊天記錄?微信是一款上億人都在用的社交軟體,他不僅支持語音聊天,視頻等,還能通過朋友圈分享自己的生活,深受大家喜愛,但是使用得越頻繁,產生的重要數據就越多,如果不小心刪除了重要記錄,怎麼恢復刪除的聊天記錄?刪除的記錄真的還能恢復嗎?
  • 手機備份軟體哪個好用?蘋果恢復大師來揭秘
    但這樣做真的安全放心嗎?一個誤操作就很有可能造成重要數據的丟失,有備份數據的習慣嗎?有哪些手機備份軟體?下文為你揭曉答案。這是一款集備份與恢復於一體的數據恢復軟體,為了避免下載到盜版的軟體,引起不必要的麻煩和損失,建議在百度搜索「蘋果恢復大師」的時候認準帶有「官網」標識的連結,或直接訪問蘋果恢復大師官網www.ifonebox.cn/進行軟體的下載及安裝。
  • 教你用iCloud雲備份恢復刪除微信聊天記錄,聊天記錄恢復救星
    第一步:查看iCloud數據在操作之前,我們先查看下iCloud是否打開,數據是否同步到了手機上,因為iCloud是在有無線網的情況下就自己備份我們手機上的數據的,所以只要你的iCloud打開了,手機上的數據就會自動備份到iCloud存儲,一旦數據誤刪除,或者系統崩潰,可以挽回我們的損失。
  • 世界備份日,你的數據真的安全嗎?
    3月31日是世界備份日,你知道嗎?世界備份日定在4 月1日愚人節前一天,旨在提醒用戶的備份意識,確保數據安全。    人生總有意外,資料是珍貴的無形資產,如何備份好數據呢?一臺NAS網絡存儲伺服器就可以解決。一臺NAS,多處備份,還可根據自己的需求,有不同盤位選擇,組建RAID模式,數據更安全,更有共享,同步功能,隨時訪問,更新數據,讓你的數據存儲變得簡單!
  • 蘋果手機備份怎麼弄?備份快且數據全的好方法!
    蘋果手機備份怎麼弄?備份快且數據全的好方法!  但以上的兩招均屬於整機操作,日後需要恢復時也不能選擇某項需要的數據進行單獨恢復,而且備份好的數據也無法直接查看,還有更好的備份方法嗎?當然是有的,以上這些問題「果備份」都能輕鬆搞定。
  • 什麼軟體可以備份簡訊?開心手機恢復大師
    蘋果手機簡訊對於我們來說是非常重要的,因此對於重要的數據,我們首先就是要備份。可是許多蘋果手機用戶都不知道如何單獨導出蘋果手機簡訊,其實很簡單,通過開心手機恢復大師不僅可以單獨導出備份蘋果手機簡訊,而且還可以恢復蘋果手機誤刪的簡訊。真的有這麼神奇嗎?
  • 企業數據備份到雲端的「思前想後」
    備份數據和完全恢復  根據全部數據的容量大小不同,首次完全備份和完全恢復數據有可能會過於耗費時間,而且對生產系統的影響過大。  大小限制  根據現有的帶寬資源,每個公司都會有每天能傳到雲上的數據量的合理閥值。這一限制會對備份策略產生影響。
  • 蘋果手機iCloud雲備份數據怎麼恢復?一招教你快速還原
    蘋果手機最好用的功能莫過於iCloud雲備份,只要手機iCloud沒有關閉的情況下,在有無線網的時候,就會幫我們自動備份手機的數據,那麼備份好的數據該如何恢復,很多人卻不知道,蘋果手機iCloud雲備份數據怎麼恢復?
  • 如何把伺服器文件免費備份雲端、備份到網盤等?
    這些對象存儲空間這麼大,我們如何利用起來,比如我的網站資料庫定期備份一份到雲端對象存儲,我的網站文件壓縮包,定期備份一份,這些事管理伺服器時經常需要的,雲端化的好處就是遠程和安全性,這些大公司你就放心,你的數據安全有保證。備份伺服器的文件,首先我們需要將伺服器的權限開通,一般我們需要開通伺服器的寫入寫出權限。
  • 蘋果iCloud怎麼看備份照片?值得一看的照片備份教程
    蘋果iCloud怎麼看備份照片?誤刪了iCloud中的備份照片還能找回嗎?因為iCloud只有5GB的免費存儲空間,不少小夥伴因為不夠用會清理一下空間,導致有些照片丟失了,那我們還有機會找回嗎?
  • 減肥難減小肚子,如何攻破脂肪的最後一道防線?
    因為它是身體脂肪的司令部,是脂肪的最後一道防線! 我們可以把身體比喻成大海,脂肪比作海水, 減肥就好比每天的日曬,隨著運動的加強,慢慢的讓海水蒸發, 最先乾涸的是比較淺的地方,最後乾涸則是比較深的地方......
  • 微信聊天記錄刪除可以恢復嗎?抓住恢復的黃金時期,一鍵恢復!
    微信聊天記錄刪除可以恢復嗎?隨著手機使用頻率的增高,手機往往也會變得非常卡頓,所以我們要經常性的清理手機空間,首當其衝的就是刪除微信聊天記錄,對話框刪除或者清空微信記錄或者乾脆卸載重裝,手機卡頓的問題是解決了,但是錯誤操作刪除了重要的聊天記錄卻時有發生,等到用時追悔莫及,那微信聊天記錄刪除了可以恢復嗎?怎麼恢復?
  • 【CTO講堂】多備份創始人陳元強:在線災備革命背後的事
    恢復的時長,也是SaaS災備服務的挑戰點。相對於備份,我們則提供了幾種方案。細粒度的恢復,表級,或文件級,數據塊級的恢復,可以儘可能恢復必要的數據。另外,提供本地IT環境和雲混合的模型,對於大部分情況下,本地環境的數據可以直接用快速恢復數據。特殊災難情況下,我們至少在雲端保證有備份數據可以用來恢復環境。
  • 蘋果手機怎麼備份?盤點幾個好用的備份工具!
    蘋果手機怎麼備份?我們都知道蘋果手機一直以流暢著稱,其封閉的iOS系統給我們帶來了使用的流暢性和數據的安全性,但是這也為恢復數據造成了一定的難度,因此我們平時如果有一些重要的數據和信息,一定要及時備份起來哦,今天我們就一起來盤點幾個好用的蘋果手機備份工具,看看蘋果手機怎麼備份吧!
  • 佳山基地開放——臺空軍最後一道防線的崩潰
    (特約評論員  永輝)  臺灣空軍佳山基地是臺空軍戰力存活的最後一個堡壘,也是臺灣空軍「防衛固守」的最後的一道防線。長期以來,臺空軍對其忌諱莫深,對其採取嚴格的保密管制措施。因此即使該基地內部人員,也依任務性質,在識別證上還要設定不同標號,管制活動區域。
  • iPhone備份:盤點最好用的手機備份技巧
    iphone備份怎麼操作?蘋果手機因獨特的iOS系統,一直以來都獲得大家的喜愛,但隨著系統升級、忘記密碼等情況,越來越多的人遇到過丟失手機重要數據的問題,其實定期備份手機數據是最好的解決方法,那蘋果手機備份怎麼弄呢?接著往下看你就明白了!
  • 阿布最後一道防線
    「你被選中了,這可是機密」俄羅斯《論據與事實》報的一名記者曾說,阿布在爭奪前南斯拉夫石油市場時結下了不少仇家,有人因此曾懸賞300萬美元取他的人頭。此外,歐洲黑手黨可能會綁架他或其家人,以換取巨額贖金。