当前位置: 首页 > 工具软件 > MySQLDumper > 使用案例 >

mysqldumper备份工具安装以及使用

微生弘
2023-12-01

mysqldumper

下载安装

下载最新版的mysqldumper
下载地址:https://launchpadlibrarian.net/185032423/mydumper-0.6.2.tar.gz

tar -zxvf mysqldumper-0.6.2.tar.gz
yum -y install pcre-devel.x86_64
cd mysqldumper-0.6.2
mkdir bin 
cd bin
cmake ../  | make
ll -rth mysqldumper myloader 
-rwxr-xr-x. 1 root root 149K Jan  2 16:39 mydumper 
-rwxr-xr-x. 1 root root  51K Jan  2 16:39 myloader

msyqldumper参数详解

mysqldumper --help | more
Usage: 
  mydumper [OPTION...] multi-threaded MySQL dumping 
 
Help Options: 
  -?, --help                  Show help options 

APPlication Options:



        -B, --database              备份数据库 
        -T, --tables-list           备份表列表,多个表以“,”逗号分隔 
        -o, --outputdir             指定备份目录 
        -s, --statement-size        insert长度,单位是byte, default 1000000,这个参数不能太小,不然会报 Row bigger than statement_size for tools.t_serverinfo 
        -r, --rows                  分割表,多少行记录为一个chunk. 默认是off的 
        -F, --chunk-filesize        分割表,以多个文件备份,单位是MB 
        -c, --compress              压缩备份 
        -e, --build-empty-files     如果表没有数据,还是创建这个文件 
        -x, --regex                 正则匹配数据库、表,如db.table1 
        -i, --ignore-engines        忽略指定引擎的表 
        -m, --no-schemas            不备份表结构 
        -k, --no-locks              不加临时的share read lock,这个可能会造成数据不一致 
        --less-locking              innodb表时,最小时间lock 
        -l, --long-query-guard      设置最长查询时间,默认是60s 
        -K, --kill-long-queries     将长查询进行杀掉 
        -D, --daemon                开启守护进程模式 
        -I, --snapshot-interval     快照时间,默认是60s 
        -L, --logfile               日志文件,默认是标准输出 
        --tz-utc                    设置时区,只有备份应用到不同时区的时使用,默认是 --skip-tz-utc是关闭的. 
        --skip-tz-utc                
        --use-savepoints            Use savepoints to reduce metadata locking issues, needs SUPER privilege 
        --success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist 
        --lock-all-tables           Use LOCK TABLE for all, instead of FTWRL 
        -h, --host                  主机 
        -u, --user                  用户 
        -p, --password              密码 
        -P, --port                  端口 
        -S, --socket                socket文件 
        -t, --threads               并发线程数,默认是4 
        -C, --compress-protocol     Use compression on the MySQL connection 
        -V, --version               Show the program version and exit 
        -v, --verbose               Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2 

```**使用方法**
备份出来的sql文件,文件以数据库开头.表名[-schema].sql ,  有schema的表的表结构创建语句,没有的为表数据插入语句

```shell
./mysqlper --database=tools  --outputdir=/root/mysqldumper-0.6.2/test/
cd /root/mysqldumper-0.6.2/test
ll -rth
total 112K 
-rw-r--r--. 1 root root  972 Jan  2 18:09 tools.django_session.sql 
-rw-r--r--. 1 root root 1.1K Jan  2 18:09 tools.t_guid.sql 
-rw-r--r--. 1 root root  423 Jan  2 18:09 tools.t_ftpserver-schema.sql 
-rw-r--r--. 1 root root  325 Jan  2 18:09 tools.django_session-schema.sql 
-rw-r--r--. 1 root root 1.6K Jan  2 18:09 tools.t_serverinfo-schema.sql 
-rw-r--r--. 1 root root  133 Jan  2 18:09 metadata 

metadata这个文件记录的是当前的binlog文件及pos,可以使用这个信息搭建slave

cat metadata
Started dump at: 2015-01-02 18:09:40 
SHOW MASTER STATUS: 
        Log: mysql-bin.000006 
        Pos: 4196075 
 
Finished dump at: 2015-01-02 18:09:40 

只备份maomao_test表和maomao_git表

./mysqldumper --database=tools --putputdir=/root/mysqldumper-0.6.2/test/  --tables-list=maomao_test,maomao_git

是备份以maomao_server开通的表

./mysqldunper --database=tools --outputdir=/root/mysqldumper-0.6.2/test --regex="maomao_server*"

-B,-database只能指定一个库的备份,如果需要同时备份多个数据库,可能这样

./mysqldumper --outputdir=/root/mysqldunmper-0.6.2/test/  --regex="maomao.*|yiya.*|tools.*"

-threads并发长度
./mysqldumper --outputdir=/root/mysqldumper-0.6.2/test/  --regex="maomao.*|yiya.*|tools.*"  --threads=8
 类似资料: