首页 > 数据库 > MySQL > 正文

mysql中mysqldumper安装、使用和参数详解

2024-07-24 12:39:40
字体:
来源:转载
供稿:网友

mysqldumper是一个不错的mysql备份工具了,也是众多mysql备份工具中的一个不错的工具了,下面来介绍mysqldumper工具安装与使用例子.

mysqldumper这个备份工具比较好的点很明显,就是可以并发备份,比mysqldump要快些,另一个就是备份的表是单独的文件,恢复单表时会很方便(表结构和数据文件也是分开一个文件的).

一、下载安装

下载最新的mysqldumper

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

  1. [root@mysql.dmc.com ]$tar -zxvf mydumper-0.6.2.tar.gz  
  2. [root@mysql.dmc.com bin]$yum install pcre-devel.x86_64  
  3. [root@mysql.dmc.com ~]$cd mydumper-0.6.2 
  4. [root@mysql.dmc.com mydumper-0.6.2]$mkdir bin 
  5. [root@mysql.dmc.com mydumper-0.6.2]$cd bin 
  6. [root@mysql.dmc.com bin]$cmake ../ 
  7. [root@mysql.dmc.com bin]$make 
  8. [root@mysql.dmc.com bin]$ll -rth mydumper myloader  
  9. -rwxr-xr-x. 1 root root 149K Jan  2 16:39 mydumper 
  10. -rwxr-xr-x. 1 root root  51K Jan  2 16:39 myloader 

二、mysqldumper参数详解

  1. [root@mysql.dmc.com bin]$./mydumper --help |more  
  2. Usage: 
  3.   mydumper [OPTION...] multi-threaded MySQL dumping 
  4.  
  5. Help Options: 
  6.   -?, --help                  Show help options 

Application Options:

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

三、使用方法

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

  1. [root@mysql.dmc.com bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/  
  2. [root@mysql.dmc.com bin]$cd ot/mydumper-0.6.2/test/ 
  3. [root@mysql.dmc.com test]$ll -rth  
  4. total 112K 
  5. -rw-r--r--. 1 root root  972 Jan  2 18:09 tools.django_session.sql 
  6. -rw-r--r--. 1 root root 1.1K Jan  2 18:09 tools.t_guid.sql 
  7. -rw-r--r--. 1 root root  423 Jan  2 18:09 tools.t_ftpserver-schema.sql 
  8. -rw-r--r--. 1 root root  325 Jan  2 18:09 tools.django_session-schema.sql 
  9. -rw-r--r--. 1 root root 1.6K Jan  2 18:09 tools.t_serverinfo-schema.sql 
  10. -rw-r--r--. 1 root root  133 Jan  2 18:09 metadata 

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

  1. [root@mysql.dmc.com test]$cat metadata  
  2. Started dump at: 2015-01-02 18:09:40 
  3. SHOW MASTER STATUS: 
  4.         Log: mysql-bin.000006 
  5.         Pos: 4196075 
  6.  
  7. Finished dump at: 2015-01-02 18:09:40 

只备份t_task和t_guid表.

[root@mysql.dmc.com bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/ --tables-list=t_task,t_guid

只备份以t_server开通的表.

[root@mysql.dmc.com bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/ --regex="tools.t_server*"

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

  1. [root@mysql.dmc.com bin]$./mydumper  --outputdir=/root/mydumper-0.6.2/test/ --regex="beebol.*|tools.*" 
  2. –threads并发度 
  3.  
  4. [root@mysql.dmc.com bin]$./mydumper  --outputdir=/root/mydumper-0.6.2/test/ --regex="beebol.*|tools.*" --threads=8

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表