這篇文章主要介紹如何使用innobackupex命令備份,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)沙灣,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
備份開(kāi)始時(shí)會(huì)先開(kāi)啟一個(gè)后臺(tái)檢測(cè)進(jìn)程,實(shí)時(shí)檢測(cè)MySQL redo日志(事務(wù)日志)的變化,一旦發(fā)現(xiàn)redo日志中有新日志寫(xiě)入,立刻記錄后臺(tái)日志文件xtrabackup_log文件中,之后復(fù)制Innodb的數(shù)據(jù)文件和系統(tǒng)表空間文件ibdata1,復(fù)制結(jié)束后,執(zhí)行flush tables with read lock操作,復(fù)制.frm,.MYI,.MYD等文件(執(zhí)行flush tables with read lock的目的是為了防止讀取數(shù)據(jù)的時(shí)候發(fā)生DDL操作,并且在這一刻獲取binlog的位置),最后發(fā)出unlock tables,把表設(shè)置為可讀寫(xiě)狀態(tài),最終終止xtrabackup_log文件的寫(xiě)入。過(guò)程見(jiàn)下圖:
完備恢復(fù):恢復(fù)階段會(huì)啟動(dòng)xtrabackup內(nèi)嵌的innodb實(shí)例,回放xtrabackup日志xtrabackup_log文件中的事務(wù),將已經(jīng)提交的事務(wù)變更應(yīng)用到innodb數(shù)據(jù)文件、表空間,同時(shí)回滾未提交的事務(wù),這一過(guò)程類似innodb實(shí)例的故障恢復(fù)。
全量恢復(fù)過(guò)程見(jiàn)下圖:
增量備份:innobackupex增量備份過(guò)程中的增量處理,其實(shí)主要相對(duì)innodb而言,對(duì)myisam和其他存儲(chǔ)引擎而言,仍然是每次一個(gè)全備。增量備份過(guò)程主要是通過(guò)拷貝innodb有變更的頁(yè),這些變更數(shù)據(jù)頁(yè)指的是LSN大于xtrabackup_checkpoints中給定的LSN,增量備份是基于全備的,第一次增量備份的數(shù)據(jù)必須要基于最近一次全備,之后每次增備都是基于上一次增備的基礎(chǔ)上進(jìn)行。過(guò)程跟完備一樣,只是增備時(shí)在復(fù)制數(shù)據(jù)文件時(shí)復(fù)制的是上一次備份后從大于xtrabackup_checkpoints開(kāi)始的改變的頁(yè)。增量備份過(guò)程見(jiàn)下圖:
增量恢復(fù):和全備恢復(fù)類似,也需要兩步,一部分?jǐn)?shù)據(jù)文件的恢復(fù),這里數(shù)據(jù)文件包括全備份、增量備份和xtrabackup_log文件中已提交事務(wù)的回放,第二部分是對(duì)未提交事務(wù)的回滾。
過(guò)程見(jiàn)下圖1和2:
以上是“如何使用innobackupex命令備份”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!