备份单个库
```
mydumper -u 用户名 -p 密码 -B 需要备份的库名 -o /tmp/bak
-B,需要备份的库 -o 输出文件的目录(备份输出指定的目录)
```
备份所有数据库
```
全库备份期间除了information_schema与performance_schema之外的库都会被备份
mydumper -u 用户名 -p 密码 -o /tmp/bak
-o 输出文件的目录(备份输出指定的目录)
```
备份单表
```
mydumper -u 用户名 -p 密码 -B 库名 -T 表名 -o /tmp/bak
-T 需要备份的表,多表用逗号分隔 -o指定输出备份文件路径
```
备份多表
```
mydumper -u 用户名 -p 密码 -B 库名 -T 表1,表2 -o /tmp/bak
当前目录自动生成备份日期时间文件夹,不指定-o参数及值时默认为:export-20150703-145806
mydumper -u 用户名 -p 密码 -B 数据库名字 -T 表名
```
不带表结构备份表
```
mydumper -u 用户名 -p 密码 -B 数据名字 -T 表名 -m
-m 不导出表结构
```
压缩备份及连接使用压缩协议(非本地备份时)
```
mydumper -u 用户名 -p 密码 -B 数据库名字 -o /tmp/bak -c -C
-c 压缩输出文件 -C 在mysql连接上使用压缩协议 -o 输出文件的目录(备份输出指定的目录)
```
备份特定表
```
mydumper -u 用户名 -p 密码 -B 数据库名字 --regex=actor* -o /tmp/bak
只备份以actor*开头的表
-x 正则表达式: 'db.table' --regex
```
过滤特定库,如本来不备份mysql及test库
```
mydumper -u 用户名 -p 密码 -B 数据库名字 --regex '^(?!(mysql|test))' -o /tmp/bak
```
基于空表产生表结构文件
```
mydumper -u 用户名 -p 密码 -B 数据库名字 -T 空表 -e -o /tmp/bak
-e 即使表没有数据,还是产生一个空文件
```
设置长查询的上限,如果存在比这个还长的查询则退出mydumper,也可以设置杀掉这个长查询
```
mydumper -u leshami -p pwd -B sakila --long-query-guard 200 --kill-long-queries
```
备份时输出详细更多日志
```
mydumper -u 用户名 -p 密码 -B 数据库名字 -T 空表 -v 3 -o /tmp/bak
-v 更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info,详细输出 default 2
```
导出binlog,使用-b参数,会自动在导出目录生成binlog_snapshot文件夹及binlog
```
mydumper -u leshami -p pwd -P 3306 -b -o /tmp/bak
```
总结:
mysql备份,备份数据库、备份数据表。恢复也是恢复数据库,恢复数据表。