https://github.com/maxbube/mydumper/releases
#rpm安装
wget https://github.com/maxbube/mydumper/releases/download/v0.9.5/mydumper-0.9.5-2.el7.x86_64.rpm
rpm -ivh mydumper-0.9.5-2.el7.x86_64.rpm
#源码安装
yum -y install glib2-devel mysql-devel zlib-devel pcre-devel cmake gcc-c++ git
git clone https://github.com/maxbube/mydumper.git
cd mydumper
cmake .
make && make install
cat /data/shell/backup.sh
#!/bin/sh
mkdir -p /data/file/mysql/$(date +%Y%m%d)/{81,71,122,1b,2b}
rm -rf /data/file/mysql/$(date +%Y%m%d -d "-10day")/
#81
mydumper -h 139.224.27.81 -u admin -p 4+poY?iZoJ%0 -B cyd-cloud -o /data/file/mysql/$(date +%Y%m%d)/81/ -C
mydumper -h 139.224.27.81 -u admin -p 4+poY?iZoJ%0 -B cyd-cloud-staging -o /data/file/mysql/$(date +%Y%m%d)/81/ -C
mydumper -h 139.224.27.81 -u admin -p 4+poY?iZoJ%0 -B jy_ips -o /data/file/mysql/$(date +%Y%m%d)/81/ -C
#71
mydumper -h 47.100.52.71 -u admin -p 4+poY?iZoJ%0 -B cyd-cloud -o /data/file/mysql/$(date +%Y%m%d)/71/ -C
mydumper -h 47.100.52.71 -u admin -p 4+poY?iZoJ%0 -B cydpos_prod -o /data/file/mysql/$(date +%Y%m%d)/71/ -C
#122
mydumper -h 47.102.103.122 -u root -p edfce4d69c751164 -B npsq_juyooo_com -o /data/file/mysql/$(date +%Y%m%d)/122/ -C
mydumper -h 47.102.103.122 -u root -p edfce4d69c751164 -B sq_juyooo_com -o /data/file/mysql/$(date +%Y%m%d)/122/ -C
mydumper -h 47.102.103.122 -u root -p edfce4d69c751164 -B tgt_juyooo_com -o /data/file/mysql/$(date +%Y%m%d)/122/ -C
#1b
mydumper -h rm-uf65k14445n057v8935910.mysql.rds.aliyuncs.com -u bak -p R#7lbTau3WZFvpdq -o /data/file/mysql/$(date +%Y%m%d)/1b/ -C
#2b
mydumper -h rm-uf63w8263b5r6vi9q35910.mysql.rds.aliyuncs.com -u bak -p R#7lbTau3WZFvpdq -P 3606 -o /data/file/mysql/$(date +%Y%m%d)/2b/ -C
备份单个库
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 root -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 root -p pwd -P 3306 -b -o /tmp/bak