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,如需轉載請自行聯系原作者