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

Mydumper介绍:

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

2)特性:

  轻量级C语言编写

  执行速度比mysqldump快10倍

  快速的文件压缩

  支持导出binlog

  多线程恢复

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

  开源

Mydumper的安装

[root@node8 ~]# yum -y install glib2-devel zlib-devel pcre-devel cmake

[root@node8 ~]# tar xf mydumper-0.9.1.tar.gz

[root@node8 ~]#cd mydumper-0.9.1

[root@node8 ~]#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

案例:

[root@node8 mydumper-0.9.1]# mydumper -u root -p Aa123456 -h localhost -P 3306 -S /tmp/mysql.sock -B wordpress -o /tmp/bak/
[root@node8 mydumper-0.9.1]# cd /tmp/bak/
[root@node8 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/