mydumper多线程备份 数据备份


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


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回