日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

xtrabackup 原理详解

發(fā)布時間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xtrabackup 原理详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引用網(wǎng)址:https://yq.aliyun.com/articles/45746

xtrabackup是Percona公司CTO Vadim參與開發(fā)的一款基于InnoDB的在線熱備工具,具有開源,免費,支持在線熱備,備份恢復(fù)速度快,占用磁盤空間小等特點,并且支持不同情況下的多種備份形式。xtrabackup的官方下載地址為http://www.percona.com/software/percona-xtrabackup。

xtrabackup包含兩個主要的工具,即xtrabackup和innobackupex,二者區(qū)別如下:

(1)xtrabackup只能備份innodb和xtradb兩種引擎的表,而不能備份myisam引擎的表;

(2)innobackupex是一個封裝了xtrabackup的Perl腳本,支持同時備份innodb和myisam,但在對myisam備份時需要加一個全局的讀鎖。還有就是myisam不支持增量備份。

1.備份過程

innobackupex備份過程如下圖:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (圖1 innobackupex備份過程,本文中所有圖都是google所得)

在圖1中,備份開始時首先會開啟一個后臺檢測進程,實時檢測mysql redo的變化,一旦發(fā)現(xiàn)redo中有新的日志寫入,立刻將日志記入后臺日志文件xtrabackup_log中。之后復(fù)制innodb的數(shù)據(jù)文件和系統(tǒng)表空間文件ibdata1,待復(fù)制結(jié)束后,執(zhí)行flush tables with read lock操作,復(fù)制.frm,MYI,MYD,等文件(執(zhí)行flush tableswith read lock的目的是為了防止數(shù)據(jù)表發(fā)生DDL操作,并且在這一時刻獲得binlog的位置)最后會發(fā)出unlock tables,把表設(shè)置為可讀可寫狀態(tài),最終停止xtrabackup_log。

2.全備恢復(fù)

這一階段會啟動xtrabackup內(nèi)嵌的innodb實例,回放xtrabackup日志xtrabackup_log,將提交的事務(wù)信息變更應(yīng)用到innodb數(shù)據(jù)/表空間,同時回滾未提交的事務(wù)(這一過程類似innodb的實例恢復(fù))。恢復(fù)過程如下圖:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(圖2 innobackupex 恢復(fù)過程)

3.增量備份

innobackupex增量備份過程中的"增量"處理,其實主要是相對innodb而言,對myisam和其他存儲引擎而言,它仍然是全拷貝(全備份)

"增量"備份的過程主要是通過拷貝innodb中有變更的"頁"(這些變更的數(shù)據(jù)頁指的是"頁"的LSN大于xtrabackup_checkpoints中給定的LSN)。增量備份是基于全備的,第一次增備的數(shù)據(jù)必須要基于上一次的全備,之后的每次增備都是基于上一次的增備,最終達到一致性的增備。增量備份的過程如下,和全備的過程很類似,區(qū)別僅在第2步。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ( 圖 3 innobackupex增量備份過程)

4.增量備份恢復(fù)

和全備恢復(fù)類似,也需要兩步,一是數(shù)據(jù)文件的恢復(fù),如圖4,這里的數(shù)據(jù)來源由3部分組成:全備份,增量備份和xtrabackup log。二是對未提交事務(wù)的回滾,如圖5所示:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?( 圖4 innobackupex 增量備份恢復(fù)過程1)

? ? ? ?( 圖5 innobackupex增量備份恢復(fù)過程2)

?

總結(jié)

以上是生活随笔為你收集整理的xtrabackup 原理详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。