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)

    安装部分:

    请参考官方文档:http://docs.mydumper.org/compiling.html(这个是0.2的文档)

    安装成功后,会有mydumper(备份)  myload(恢复) 两个工具

    参数可参考: mydumper --help  详细解说:http://docs.mydumper.org/mydumper_usage.html

    例: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,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
缓存 监控 Java
线程池的魔法:Java 开发者必备的并发工具
线程池的魔法:Java 开发者必备的并发工具
87 0
|
7月前
|
存储 Java 数据安全/隐私保护
探索Java中神奇的ThreadLocal:为什么它是多线程编程的重要工具?
探索Java中神奇的ThreadLocal:为什么它是多线程编程的重要工具?
116 0
|
7月前
|
数据可视化 关系型数据库 编译器
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
1093 2
|
1月前
|
安全 程序员 API
|
1月前
|
存储 安全 UED
多线程在打包工具中的运用
【11月更文挑战第2天】本文介绍了多线程技术在打包工具中的应用,包括提高打包效率、优化用户体验和多线程安全考虑。通过并行处理文件和加速资源收集,多线程可以显著缩短打包时间。在用户体验方面,多线程使界面保持响应,并支持优先级处理。此外,文章还讨论了资源访问冲突和死锁预防的解决方案,确保多线程环境下的稳定性和安全性。
|
5月前
|
安全 Java 调度
Java面试题:Java内存优化、多线程安全与并发框架实战,如何在Java应用中实现内存优化?在多线程环境下,如何保证数据的线程安全?使用Java并发工具包中的哪些工具可以帮助解决并发问题?
Java面试题:Java内存优化、多线程安全与并发框架实战,如何在Java应用中实现内存优化?在多线程环境下,如何保证数据的线程安全?使用Java并发工具包中的哪些工具可以帮助解决并发问题?
73 0
多线程的线程工具的初步使用和原理详解
多线程的线程工具的初步使用和原理详解
80 0
|
7月前
学习多线程之Semaphore工具解释
学习多线程之Semaphore工具解释
69 0
|
安全 Java API
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
|
缓存 安全 Java
并发工具类库的线程安全实战
并发工具类库的线程安全实战
68 0