Mydumper介绍
Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具。开发人员主要来自MySQL,Facebook,SkySQL公司。目前已经在一些线上使用了Mydumper。
Mydumper主要特性:
- 轻量级C语言写的
- 执行速度比mysqldump快10倍
- 事务性和非事务性表一致的快照(适用于0.2.2以上版本)
- 快速的文件压缩
- 支持导出binlog
- 多线程恢复(适用于0.2.1以上版本)
- 以守护进程的工作方式,定时快照和连续二进制日志(适用于0.5.0以上版本)
- 开源 (GNU GPLv3)
Mydumper安装
# yum install glib2-devel mysql-devel zlib-devel pcre-devel
# wget http://launchpad.net/mydumper/0.5/0.5.1/+download/mydumper-0.5.1.tar.gz
# tar zxvf mydumper-0.5.1.tar.gz -C ../software/
# cmake .
# make
# make install
mydumper参数介绍:
需要备份的库
需要备份的表,用,分隔
输出目录
1000000
试图分裂成很多行块表
压缩输出文件
即使表没有数据,还是产生一个空文件
支持正则表达式
忽略的存储引擎,用,分隔
不导出表结构
警告:这将导致不一致的备份
60s
)
binlog
启用守护进程模式
daemon模式下
日志文件
host
user
password
port
socket
4
mysql连接上使用压缩
version
2
myloader参数介绍:
导入备份目录
1000
如果表存在删除表
需要还原的库
启用二进制恢复数据
host
user
password
port
socket
4
连接上使用压缩
version
2
mydumper输出文件:
binlog日志文件位置。
:每个表一个文件
:表结构文件
_snapshot目录下
_dump。
mydumper因某种原因失败而仍然有一个好的快照,
_dump指向该备份
mydumper用例
# mydumper -B ttlsa_com -o /home/data/bak -b
# ls
sql
# cat metadata
21
:
000001
191363
22
# mydumper -B ttlsa_com -o /home/data/bak -b -D --snapshot-interval=30
# myloader -d /home/data/bak/last_dump -o -B ttlsa_com //还原