MySQL数据库之多线程备份工具mydumper

Posted 51yuki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库之多线程备份工具mydumper相关的知识,希望对你有一定的参考价值。

Mydumper介绍:

1)Mydumper是一个针对mysql和Drizzle的高性能多线程备份和恢复工具

2)特性:

  轻量级C语言编写

  执行速度比mysqldump快10倍

  快速的文件压缩

  支持导出binlog

  多线程恢复

  以守护进程的工作方式,定期快照和连续二进制日志

  开源

Mydumper的安装

[[email protected] ~]# yum -y install glib2-devel zlib-devel pcre-devel cmake

[[email protected] ~]# tar xf mydumper-0.9.1.tar.gz

[[email protected] ~]#cd mydumper-0.9.1

[[email protected] ~]#cmake . && make && make install

 

常用选项:

  • -B 需要备份的库
  • -T 需要备份的表
  • -o 输出目录
  • -c 压缩输出文件
  • -m 不导出表结构
  • -b 导出binlog
  • -D 以守护进程模式
  • -h, --host
  • -u, --user
  • -p, --password
  • -P, --port
  • -S, --socket
  • -t, --threads 使用的线程数,默认4

案例:

[[email protected] mydumper-0.9.1]# mydumper -u root -p Aa123456 -h localhost -P 3306 -S /tmp/mysql.sock -B wordpress -o /tmp/bak/
[[email protected] mydumper-0.9.1]# cd /tmp/bak/
[[email protected] bak]# ll
total 18460
-rw-r--r-- 1 root root 137 Apr 11 11:56 metadata
-rw-r--r-- 1 root root 70 Apr 11 11:56 wordpress-schema-create.sql
-rw-r--r-- 1 root root 515 Apr 11 11:56 wordpress.wp_commentmeta-schema.sql
-rw-r--r-- 1 root root 2282 Apr 11 11:56 wordpress.wp_commentmeta.sql
-rw-r--r-- 1 root root 1576 Apr 11 11:56 wordpress.wp_comments-schema.sql
-rw-r--r-- 1 root root 12698 Apr 11 11:56 wordpress.wp_comments.sql
-rw-r--r-- 1 root root 251 Apr 11 11:56 wordpress.wp_hermit_cat-schema.sql
-rw-r--r-- 1 root root 154 Apr 11 11:56 wordpress.wp_hermit_cat.sql
-rw-r--r-- 1 root root 374 Apr 11 11:56 wordpress.wp_hermit-schema.sql
-rw-r--r-- 1 root root 530 Apr 11 11:56 wordpress.wp_options-schema.sql
-rw-r--r-- 1 root root 873997 Apr 11 11:56 wordpress.wp_options.sql
-rw-r--r-- 1 root root 506 Apr 11 11:56 wordpress.wp_postmeta-schema.sql
-rw-r--r-- 1 root root 2770950 Apr 11 11:56 wordpress.wp_postmeta.sql
-rw-r--r-- 1 root root 1903 Apr 11 11:56 wordpress.wp_posts-schema.sql
-rw-r--r-- 1 root root 15144028 Apr 11 11:56 wordpress.wp_posts.sql
-rw-r--r-- 1 root root 485 Apr 11 11:56 wordpress.wp_termmeta-schema.sql
-rw-r--r-- 1 root root 432 Apr 11 11:56 wordpress.wp_term_relationships-schema.sql
-rw-r--r-- 1 root root 2057 Apr 11 11:56 wordpress.wp_term_relationships.sql
-rw-r--r-- 1 root root 507 Apr 11 11:56 wordpress.wp_terms-schema.sql
-rw-r--r-- 1 root root 2263 Apr 11 11:56 wordpress.wp_terms.sql
-rw-r--r-- 1 root root 661 Apr 11 11:56 wordpress.wp_term_taxonomy-schema.sql
-rw-r--r-- 1 root root 1270 Apr 11 11:56 wordpress.wp_term_taxonomy.sql
-rw-r--r-- 1 root root 505 Apr 11 11:56 wordpress.wp_usermeta-schema.sql
-rw-r--r-- 1 root root 1870 Apr 11 11:56 wordpress.wp_usermeta.sql
-rw-r--r-- 1 root root 1022 Apr 11 11:56 wordpress.wp_users-schema.sql
-rw-r--r-- 1 root root 247 Apr 11 11:56 wordpress.wp_users.sql

说明:

metadata:元数据,记录备份开始和结束时间,已经binlog日志文件位置

table data 每个表一个文件

table schemas 表结构文件

-rw-r--r-- 1 root root 1022 Apr 11 11:56 wordpress.wp_users-schema.sql
-rw-r--r-- 1 root root 247 Apr 11 11:56 wordpress.wp_users.sql

binary log: 启用--binlogs选项后,二进制文件存放在binlog_snapshot目录下

 

还原数据库

必须先建立一个数据库,然后使用myloader命令

myloader -u root -pAa123456 -h localhost -P 3306 -S /tmp/mysql.sock -B wordpress -d /tmp/bak/

 































以上是关于MySQL数据库之多线程备份工具mydumper的主要内容,如果未能解决你的问题,请参考以下文章

day10-python并发编程之多线程协程及MySQL

Laravel 命令行工具之多线程同步大批量数据 DB连接混乱 解决方案

JDK并发工具之多线程团队协作:同步控制

设计模式 - 单例模式之多线程调试与破坏单例

python网络编程socket之多线程

iOS开发之多线程技术(NSThreadOperationQueueGCD)