最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL使用Xtrabackup備份流程詳解

 更新時間:2021年03月27日 11:29:10   作者:AsiaYe  
這篇文章主要介紹了MySQL使用Xtrabackup備份流程詳解,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下

01 背景

    Xtrabackup是Percona公司開發(fā)的一款開源的MySQL熱備份工具,之前的工作中也是經常使用,但是也僅僅是停留在使用的階段,對于這個工具的細節(jié),并沒有做過多的研究,今天細細看了一下過程,還是有點收獲的,寫下來記錄一下,有不對的地方,還請指正。

    Xtrabackup工具能夠備份InnoDB,XtraDB和MyISAM的表,它支持Percona Server的所有版本,而且兼容MySQL,也兼容MariaDB,還支持一些高級的特性,例如流方式備份、壓縮、加密、以及增量備份等等。

   優(yōu)點如下:

1、無需停止數據庫進行InnoDB熱備份,在50G以上的數據量備份時候,應該是首選工具。

2、支持增量備份MySQL并通過流傳輸到其他的服務器上。

3、備份MySQL的時候不會增加服務器的負載。

02 簡介

    在這個工具中,最主要的應用程序有兩個,分別是innobackupex與xtrabackup,其中前者是perl腳本,后面是C++變異的二進制程序,需要注意,后者不能備份除了Innodb存儲引擎的其他表。Innobackup是對xtrabackup的封裝,可以備份非Innodb的表。

   以上所述,可能大家都知道,這里需要留意,由于mysql等系統(tǒng)數據庫中的表有些存儲引擎是基于MyISAM的,所以一般情況下使用innobackupex來備份系統(tǒng)庫。

03 工作流程

   下面講述Innobackupex和Xtrabackup的工作流程,可能有些交叉的部分,二者共同完成備份任務。

   主要的工作流程如下:

1、innobackupex啟動之后,首先會創(chuàng)建xtrabackup進程,并且啟動,然后等待xtrabackup完成innodb相關文件的備份。

2、xtrabackup在備份InnoDB相關文件時,會開啟如下兩種線程,一種是ibd復制線程,負責復制表空間ibd文件,一種是redo log復制線程,負責復制redo log信息。其中redo log線程先于ibd線程開始,redo log線程會從最近的checkpoint點開始復制redo log,(關于checkpoint,之前的文章中講過),復制完成之后啟動ibd線程。需要注意的是,在這個過程中,innobackupex進程處于等待狀態(tài),等待被xtrabackup進程喚醒。

3、xtrabackup復制ibd完成之后(redo log線程可能還在工作),通知innobackupex進程,同時自己進入wait狀態(tài)。

4、innobackupex收到通知,會執(zhí)行備份鎖,渠道一致性的位點,然后開始復制非innodb的文件。

5、當非innodb文件復制完成之后,innobackupex開始獲取binlog的位置。

6、創(chuàng)建xtrabackup_binlog_info文件,并將binlog的點位信息寫入文件中。

7、接著,innobackupex會發(fā)起一個通知給xtrabackup進程,同時自己進入等待狀態(tài)。

8、xtrabackup進程收到通知后,就會停止redo log的復制線程,并告知redo log復制完畢,然后通知innodbbackupex開始釋放鎖。

9、緊接著,就是一些收尾工作,釋放資源,備份元數據信息,打印備份目錄,備份binlog的位置信息,以及寫入xtrabackup_info文件信息等。

10、innobackupex進程等待xtrabackup進程結束后退出。

04 一些疑問

1、為什么要復制redo log?

   這是因為備份ibd文件的過程中,該文件可能被修改,這樣備份出來的文件就有可能是包含臟數據的,在恢復的時候,需要聽過redo log進行數據恢復,也就是應用已經提交的事務,回滾那些沒有提交的事務。

2、innobackupex和xtrabackup是如何交互的?

   其實本質是通過刪除和創(chuàng)建兩個特定的文件,這兩個進程都會監(jiān)聽指定目錄下是否包含特定的文件,如果包含,就進行工作,不包含,則停止工作,進入等待狀態(tài)。

05 備份文件

  一般備份完成之后,備份目錄中會產生7個重要的文件,包含:

  • backup-my.cnf:此文件包含了備份所需的my.cnf中的選項?;謴偷臅r候,會依賴這個文件。
  • xtrabackup_checkpoints:記錄備份的類型、備份的狀態(tài)信息、增量備份依賴于這個信息
  • xtrabackup_binlog_info:該文件記錄備份時候的二進制文件信息和偏移量位置信息。
  • xtrabackup_binlog_pos_innodb:該文件記錄了innodb表的二進制文件和位置信息,當執(zhí)行--apply-log的時候,會創(chuàng)建這個文件。
  • xtrabackup_binary:該文件記錄備份進程使用的xtrabackup二進制文件。
  • xtrabackup_logfile:該文件記錄apply log操作時所需的數據,如果apply log的時間比較長,這個文件就會很大。
  • xtrabackup_slave_info:這個文件很常用,它記錄了在建立主從關系的時候,change master 語句所需要的信息。

以上就是MySQL使用Xtrabackup備份流程詳解的詳細內容,更多關于MySQL使用Xtrabackup備份的資料請關注腳本之家其它相關文章!

相關文章

  • 解決mysql @@sql_mode問題---only_full_group_by

    解決mysql @@sql_mode問題---only_full_group_by

    這篇文章主要介紹了解決mysql @@sql_mode問題---only_full_group_by,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • MySQL通透詳解架構設計

    MySQL通透詳解架構設計

    這篇文章主要介紹了MySQL架構設計相關基礎與原則,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2022-02-02
  • mybatis分頁插件pageHelper詳解及簡單實例

    mybatis分頁插件pageHelper詳解及簡單實例

    這篇文章主要介紹了mybatis分頁插件pageHelper詳解及簡單實例的相關資料,需要的朋友可以參考下
    2017-05-05
  • MySQL刪除表數據的方法

    MySQL刪除表數據的方法

    這篇文章主要介紹了MySQL刪除表數據的方法,小編覺得還是挺不錯的,這里給大家分享一下,需要的朋友可以參考。
    2017-10-10
  • MySQL5.6的zip包安裝教程詳解

    MySQL5.6的zip包安裝教程詳解

    這篇文章主要介紹了MySQL5.6的zip包安裝教程,需要的朋友可以參考下
    2018-11-11
  • mysql?事務解析

    mysql?事務解析

    這篇文章主要給大家分享的是mysql事務解析,事務(transaction)是業(yè)務邏輯的一個基本的單元組成,下面文章圍繞mysql事務的相關資料展開詳細內容,需要的朋友可以參考一下希望對大家有所幫助
    2021-11-11
  • MacOS下mysql 8.0.18 安裝配置方法圖文教程

    MacOS下mysql 8.0.18 安裝配置方法圖文教程

    這篇文章主要介紹了MacOS下mysql 8.0.18 安裝配置方法圖文教程,并成功命令行操作,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • MySQL表添加某一列和刪除某一列的方法

    MySQL表添加某一列和刪除某一列的方法

    MySQL是一種廣泛使用的關系型數據庫管理系統(tǒng),它是一種開源的軟件,由瑞典的MySQL?AB公司開發(fā)的,這篇文章主要介紹了關于MySQL表添加某一列和刪除某一列的sql語句,需要的朋友可以參考下
    2023-06-06
  • MySQL8.0/8.x忘記密碼更改root密碼的實戰(zhàn)步驟(親測有效!)

    MySQL8.0/8.x忘記密碼更改root密碼的實戰(zhàn)步驟(親測有效!)

    忘記root密碼的場景還是比較常見的,特別是自己搭的測試環(huán)境經過好久沒用過時,很容易記不得當時設置的密碼,下面這篇文章主要給大家介紹了關于MySQL8.0/8.x忘記密碼更改root密碼的實戰(zhàn)步驟,親測有效!需要的朋友可以參考下
    2023-04-04
  • Mysql樹形結構的數據庫表設計方案

    Mysql樹形結構的數據庫表設計方案

    樹形結構對大家來說應該都不陌生,在日常開發(fā)中經常會遇到,下面這篇文章主要給大家介紹了關于Mysql樹形結構的數據庫表設計的相關資料,文中通過示例代碼的非常詳細,需要的朋友可以參考下
    2021-09-09

最新評論

曲阜市| 当涂县| 沙田区| 裕民县| 萍乡市| 岚皋县| 游戏| 漳浦县| 通江县| 微山县| 浦江县| 修水县| 承德县| 玉林市| 翁源县| 仁化县| 怀安县| 马山县| 襄樊市| 天等县| 宁津县| 青冈县| 甘洛县| 甘南县| 台东市| 大关县| 新巴尔虎右旗| 新安县| 濉溪县| 富民县| 石楼县| 平舆县| 庆元县| 泽库县| 洞口县| 齐齐哈尔市| 于田县| 台前县| 左云县| 灌云县| 富锦市|