Mydumper工作流程圖和主要步驟概括

chenfeng發表於2017-05-18
工作流程圖:


主要步驟概括:

1.主執行緒 FLUSH TABLES WITH READ LOCK , 施加全域性只讀鎖,以阻止 DML 語句寫入,保證資料的一致性
2.讀取當前時間點的二進位制日誌檔名和日誌寫入的位置並記錄在 metadata 檔案中,以供即使點恢復使用
3.N個(執行緒數可以指定,預設是 4 ) dump 執行緒 START TRANSACTION WITH CONSISTENT SNAPSHOT ; 開啟讀一致的事物
4.dump non-InnoDB tables , 首先匯出非事物引擎的表
5.主執行緒 UNLOCK TABLES 非事物引擎備份完後,釋放全域性只讀鎖
6.dump InnoDB tables , 基於事物匯出 InnoDB 表
7.事物結束


備份所生成的檔案

所有的備份檔案在一個目錄中,目錄可以自己指定
目錄中包含一個 metadata 檔案
記錄了備份資料庫在備份時間點的二進位制日誌檔名,日誌的寫入位置,

如果是在從庫進行備份,還會記錄備份時同步至主庫的二進位制日誌檔案及寫入位置
每個表有兩個備份檔案:
database.table-schema.sql 表結構檔案
database.table.sql 表資料檔案

如果對錶檔案分片,將生成多個備份資料檔案,可以指定行數或指定大小分片

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2139289/,如需轉載,請註明出處,否則將追究法律責任。

相關文章