天天看點

Mydumper 多線程備份工具

Mydumper 是一款針對MySQL和Drizzle的高性能多線程備份和恢複工具。

    主要特性:

    1、輕量級,用C所寫

    2、執行速度是MySQLDUMP的10倍左右

    3、事務性表和非事務性表的一緻性快照(0.22以上版本)

    4、檔案壓縮(格式為.gz)

    5、支援導出binlog(這個我測試過,但沒有成功,求教,測試版本 0.23)

    6、多線程恢複(0.21版本以上)

    7、守護程序工作方式,定時快照和連續二進制日志(0.50版本以上)

    8、最令人高興地是:開源(GNU GPLv3)

    安裝部分:

    安裝成功後,會有mydumper(備份)  myload(恢複) 兩個工具

    例:mydumper  -B monster  -o /tmp/abc/test1  -c  -v 3

    生成三種檔案:*schema.sql 結構檔案   *.sql 資料檔案   .metadata 中繼資料檔案(這個是包含備份時間,該時間的二進制日志日志位置,如:Started dump at: 2012-07-27 19:00:38

SHOW MASTER STATUS:

        Log: mysql-bin.000019

        Pos: 542237180)

     myloader  使用 基本是:

      myloader  --directory /path/to/mydumper/backup 【options】  

    mydumper 部分參數解說:

    個人認為比較實用的參數:

    --threads 備份資料線程的個數,預設為4(ps:并不是線程越多越好,需實際測試time commands)

    --long-query-guard 設定長查詢的上限預設是60S,

    --kill-long-queries 如果長查詢超過規定時間,預設mydumper會退出,是用該參數,可以直接殺死長查詢,來保證備份繼續。

    --regex  比對多個資料庫或者資料表

    --rows 将幾個表分成幾個chunk,可以把一個表分成多個檔案,檔案的個數是根據表的總行數和rows 個數來配置設定。

     (ps 該工具不支援字元集設定;沒有像myslqdump 類似的選項 --master-info 将change master to 語句寫入到sql檔案中;該工具一緻性做的很好!)

本文轉自 位鵬飛 51CTO部落格,原文連結:http://blog.51cto.com/weipengfei/945509,如需轉載請自行聯系原作者