成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為MySQL選擇合適的備份方式

開發 前端
每一種邏輯錯誤發生的概率都極低,但是當多種可能性疊加的時候,小概率事件就 放大成很大的安全隱患,這時候備份的必要性就凸顯了。那么在眾多的MySQL備份方式中,哪一種才是適合我們的呢?

UPDATE or DELETE whitout where…

table was DROPPed accidentally…

INNODB was corrupt…

entire datacenter loses power…

從數據安全的角度來說,服務器磁盤都會做raid,MySQL本身也有主從、drbd等容災機制,但它們都無法完全取代備份。容災和高可用能幫我們 有效的應對物理的、硬件的、機械的故障,而對我們犯下的邏輯錯誤卻無能為力。每一種邏輯錯誤發生的概率都極低,但是當多種可能性疊加的時候,小概率事件就 放大成很大的安全隱患,這時候備份的必要性就凸顯了。那么在眾多的MySQL備份方式中,哪一種才是適合我們的呢?

常見的備份方式

MySQL本身為我們提供了mysqldump、mysqlbinlog遠程備份工具,percona也為我們提供了強大的Xtrabackup, 加上開源的mydumper,還有基于主從同步的延遲備份、從庫冷備等方式,以及基于文件系統快照的備份,其實選擇已經多到眼花繚亂。而備份本身是為了恢 復,所以能夠讓我們在出現故障后迅速、準確恢復的備份方式,就是最適合我們的,當然,同時能夠省錢、省事,那就非常***。下面就我理解的幾種備份工具進行 一些比較,探討下它們各自的適用場景。

1. mysqldump & mydumper

mysqldump是最簡單的邏輯備份方式。在備份myisam表的時候,如果要得到一致的數據,就需要鎖表,簡單而粗暴。而在備份innodb表 的時候,加上–master-data=1 –single-transaction 選項,在事務開始時刻,記錄下binlog pos點,然后利用mvcc來獲取一致的數據,由于是一個長事務,在寫入和更新量很大的數據庫上,將產生非常多的undo,顯著影響性能,所以要慎用。

  • 優點:簡單,可針對單表備份,在全量導出表結構的時候尤其有用。
  • 缺點:簡單粗暴,單線程,備份慢而且恢復慢,跨IDC有可能遇到時區問題。
  • mydumper是mysqldump的加強版。相比mysqldump:
  • 內置支持壓縮,可以節省2-4倍的存儲空間。
  • 支持并行備份和恢復,因此速度比mysqldump快很多,但是由于是邏輯備份,仍不是很快。

2. 基于文件系統的快照

基于文件系統的快照,是物理備份的一種。在備份前需要進行一些復雜的設置,在備份開始時刻獲得快照并記錄下binlog pos點,然后采用類似copy-on-write的方式,把快照進行轉儲。轉儲快照本身會消耗一定的IO資源,而且在寫入壓力較大的實例上,保存被更改 數據塊的前印象也會消耗IO,最終表現為整體性能的下降。而且服務器還要為copy-on-write快照預留較多的磁盤空間,這本身對資源也是一種浪 費。因此這種備份方式我們使用的不多。

3. Xtrabackup

這或許是最為廣泛的備份方式。percona之所以家喻戶曉,Xtrabackup應該功不可沒。它實際上是物理備份+邏輯備份的組合。在備份 innodb表的時候,它拷貝ibd文件,并一刻不停的監視redo log的變化,append到自己的事務日志文件。在拷貝ibd文件過程中,ibd文件本身可能被寫”花”,這都不是問題,因為在拷貝完成后的***個 prepare階段,Xtrabackup采用類似于innodb崩潰恢復的方法,把數據文件恢復到與日志文件一致的狀態,并把未提交的事務回滾。如果同 時需要備份myisam表以及innodb表結構等文件,那么就需要用flush tables with lock來獲得全局鎖,開始拷貝這些不再變化的文件,同時獲得binlog位置,拷貝結束后釋放鎖,也停止對redo log的監視。

它的工作原理如下:


由于mysql中不可避免的含有myisam表,同時innobackup并不備份表結構等文件,因此想要完整的備份mysql實例,就少不了要執行 flush tables with read lock,而這個語句會被任何查詢(包括select)阻塞,在阻塞過程中,它又反過來阻塞任何查詢(包括select)。如果碰巧備份實例上有長查詢先 于flush tables with read lock執行,數據庫就會hang住。而當flush tables with read lock獲得全局鎖后,雖然查詢可以執行,但是仍會阻塞更新,所以,我們希望flush tables with read lock從發起到結束,持續的時間越短越好。

為了解決這個問題,有兩種比較有效的方法:

  • 1. 盡量不用myisam表。
  • 2. Xtrabackup增加了–rsync選項,通過兩次rsync來減少持有全局鎖的時間。

優化后的備份過程如下:

  • 優點:在線熱備,全備+增備+流備,支持限速,支持壓縮,支持加密。
  • 缺點:需要獲取全局鎖,如果遇到長查詢,等待時間將不可控,因此要做好監控,必要時殺死長查詢或自殺;遇到超大的實例,備份過程較長,redo log太大會影響恢復速度,這種情況下***采用延遲備份。

4. mysqlbinlog 5.6

上述所有的備份方式,都只能把數據庫恢復到備份的某個時間點:mysqldump和mydumper,以及snapshot是備份開始的時間 點;Xtrabackup是備份結束的時間點。要想實現point in time的恢復,還必須備份binlog。同時binlog也是實現增備的寶貴資源。

幸運的是,mysql 5.6為我們提供了遠程備份binlog的選項:

  1. <code>mysqlbinlog --raw --read-from-remote-server --stop-never</code> 

它會偽裝成mysql從庫,從遠程獲取binlog然后進行轉儲。這對線上主庫容量不夠無法保存較多binlog的場景非常有用。但是,它畢竟不像 真正的mysql從庫實例,狀態監控和同步都需要單獨部署。因此個人覺得采用blackhole來備份全量的binlog是更好的選擇。筆者曾經實現過一 個自動搭建blackhole從庫的工具,稍加修改,就可以***搭建出blackhole從庫。一旦同步起來,基本一勞永逸,很少出問題,主從切換的時候跟著切了就行。

提示:

  • 不要小看binlog的備份。當5.6的多線程復制大規模使用后,從庫追趕主庫命令點的耗時將被極大縮短,這樣我們把每天一次的全量備份改為每3 天一次、甚至每周一次的全量備份,和持續的binlog增量備份。遇到故障需要恢復數據的時候,重放3、5天的binlog也是極快的。降低備份頻率最直 接的好處是,省錢、省事。
  • blackhole對于備份binlog是極好的。一方面可以長久的備份binlog用于恢復數據庫,另一方面,在其上配置半同步復制,可以有效防止主庫的binlog丟失。

總結

備份方式各有千秋,而對我們來說,面對數千實例,選擇合適的備份工具來實現統一配置、統一規劃,構建智能調度的備份云平臺才是王道。畢竟,多種備份方式共存的運維成本是不容忽視的。

從使用經驗來看,用Xtrabackup全備數據,用blackhole增備binlog,并定期對備份數據的有效性進行驗證,是當下比較好的選擇。

原文鏈接:http://nettedfish.sinaapp.com/blog/2013/05/31/choose-suitable-backup-strategy-for-mysql/

責任編輯:陳四芳 來源: Learn and Share
相關推薦

2022-05-30 11:21:25

數據庫MySQL工具

2019-03-14 15:00:48

混合云云計算管理

2011-11-09 09:20:53

虛擬化桌面虛擬化云計算

2009-02-02 09:31:25

MySQL存儲引擎MyISAM

2009-09-22 10:20:00

專線接入

2023-12-04 07:14:40

通信微服務

2009-06-12 08:57:56

Unix字符串處理

2015-11-23 17:12:53

數據中心CMDB工具

2020-09-24 10:20:16

物聯網

2010-03-15 17:06:02

選擇無線網卡

2021-05-12 13:52:48

存儲視頻監控云存儲

2019-03-11 15:48:13

企業存儲數據

2023-05-09 16:25:57

Azure 存儲文件存儲

2022-03-17 17:08:05

機器學習算法類型

2017-09-12 08:22:59

DCIM軟件數據中心

2010-08-20 13:47:11

BlackBerry應BlackBerry

2018-02-28 15:19:43

云計算云計算顧問咨詢

2011-03-17 13:33:04

索引可選項

2011-03-23 15:57:43

Oracle索引
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲毛片| 最新国产精品精品视频 | 国内精品久久久久 | www.久久.com | 在线日韩欧美 | 国产成都精品91一区二区三 | 国产一级在线观看 | 伊人精品在线 | 性做久久久久久免费观看欧美 | 亚洲天堂999| 青娱乐av | 亚洲欧美自拍偷拍视频 | 成人在线观看欧美 | 国产欧美日韩二区 | 久久久www | 欧美乱淫视频 | 激情五月综合网 | 欧美亚洲一级 | 亚洲高清在线观看 | 久久激情五月丁香伊人 | 久草精品视频 | 91 久久 | 伊人一区 | 在线观看中文视频 | 中文字幕精品一区 | a级大片免费观看 | 欧美日韩国产高清视频 | 高清一区二区视频 | 国产欧美日韩一区二区三区在线观看 | 日韩精品 电影一区 亚洲 | 成人午夜精品 | 日韩视频一区在线观看 | 国产h在线 | 国产精选一区 | 日本三级在线网站 | 久久机热| 国产成人网| 日韩资源 | 欧美成人激情 | 国产精品久久久久久久久免费相片 | 午夜色婷婷 |