mydumper备份数据库

一、备份

1.全库备份

/usr/local/bin/mydumper -h ${sql_ip}  --user ${user} --password ${passwd} -o ${bakdir} -c -e -t 16

2.单库备份

mydumper -h ${sql_ip}  --user ${user} -p ${passwd} -o ${bakdir} -B ${database} -c -e -t 16

3.表备份

mydumper -u ${user} -p ${passwd} -o ${bakdir} -B ${database} -T ${table1},${table2} -c -e -t 16

二、恢复

恢复库

myloader -u root -p 123456 -h IP  -S /data/mysql/mysql_3307/mysql_3307.sock -B 数据库名称 -o -d 数据库备份路径 -t 16

单表恢复

单表恢复需要解压备份文件为sql格式,用source 方法恢复,并且恢复前需要删除表

#恢复表结构
source table-schema.sql
#恢复数据
source tables.sql

三、参数

mydumper 参数:

-B, --database              要备份的数据库,不指定则备份所有库

-T, --tables-list           需要备份的表,名字用逗号隔开

-o, --outputdir             备份文件输出的目录

-s, --statement-size        生成的insert语句的字节数,默认1000000

-r, --rows                  将表按行分块时,指定的块行数,指定这个选项会关闭 --chunk-filesize

-F, --chunk-filesize        将表按大小分块时,指定的块大小,单位是 MB

-c, --compress              压缩输出文件

-e, --build-empty-files     如果表数据是空,还是产生一个空文件(默认无数据则只有表结构文件)

-x, --regex                 是同正则表达式匹配 'db.table'

-i, --ignore-engines        忽略的存储引擎,用都厚分割

-m, --no-schemas            不备份表结构

-k, --no-locks              不使用临时共享只读锁,使用这个选项会造成数据不一致

--less-locking              减少对InnoDB表的锁施加时间(这种模式的机制下文详解)

-l, --long-query-guard      设定阻塞备份的长查询超时时间,单位是秒,默认是60秒(超时后默认mydumper将会退出)

--kill-long-queries         杀掉长查询 (不退出)

-b, --binlogs               导出binlog

-D, --daemon                启用守护进程模式,守护进程模式以某个间隔不间断对数据库进行备份

-I, --snapshot-interval     dump快照间隔时间,默认60s,需要在daemon模式下

-L, --logfile               使用的日志文件名(mydumper所产生的日志), 默认使用标准输出

--tz-utc                    跨时区是使用的选项,不解释了

--skip-tz-utc               同上

--use-savepoints            使用savepoints来减少采集metadata所造成的锁时间,需要 SUPER 权限

--success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist

-h, --host                  连接的主机名

-u, --user                  备份所使用的用户

-p, --pass                  密码

-P, --port                  端口

-S, --socket                使用socket通信时的socket文件

-t, --threads               开启的备份线程数,默认是4

-C, --compress-protocol     压缩与mysql通信的数据

-V, --version               显示版本号

-v, --verbose               输出信息模式, 0 = silent, 1 = errors, 2 = warnings, 3= info, 默认为 2

myloader 参数:

-d, --directory                   备份文件的文件夹

-q, --queries-per-transaction     每次事物执行的查询数量,默认是1000

-o, --overwrite-tables            如果要恢复的表存在,则先drop掉该表,使用该参数,需要备份时候要备份表结构

-B, --database                    需要还原的数据库

-e, --enable-binlog               启用还原数据的二进制日志

-h, --host                        主机

-u, --user                        还原的用户

-p, --pass                        密码

-P, --port                        端口

-S, --socket                      socket文件

-t, --threads                     还原所使用的线程数,默认是4

-C, --compress-protocol           压缩协议

-V, --version                     显示版本

-v, --verbose                     输出模式, 0 = silent, 1 = errors, 2 = warnings,3 = info, 默认为2

四、安装

wget [https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz](https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz)
tar xf mydumper-0.9.1.tar.gz
cd mydumper-0.9.1

你可能感兴趣的:(mydumper备份数据库)