ITPub博客

首页 > 数据库 > MySQL > 课时7-备份与恢复----mydumper的使用

课时7-备份与恢复----mydumper的使用

原创 MySQL 作者:小亮520cl 时间:2015-11-19 18:20:24 0 删除 编辑

Mydumper介绍
Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具。开发人员主要来自MySQL,Facebook,SkySQL公司。目前已经在一些线上使用了Mydumper。
Mydumper主要特性:
轻量级C语言写的
执行速度比mysqldump快10倍
事务性和非事务性表一致的快照(适用于0.2.2以上版本)
快速的文件压缩
支持导出binlog
多线程恢复(适用于0.2.1以上版本)
以守护进程的工作方式,定时快照和连续二进制日志(适用于0.5.0以上版本)
开源 (GNU GPLv3)

Mydumper安装

点击(此处)折叠或打开

  1. # yum install glib2-devel mysql-devel zlib-devel pcre-devel
  2. # wget http://launchpad.net/mydumper/0.5/0.5.1/+download/mydumper-0.5.1.tar.gz
  3. # tar zxvf mydumper-0.5.1.tar.gz -C ../software/
  4. # cmake .
  5. # make
  6. # make install


mydumper参数介绍:

点击(此处)折叠或打开

  1. -B, --database 需要备份的库
  2.  
  3. -T, --tables-list 需要备份的表,用,分隔
  4.  
  5. -o, --outputdir 输出目录
  6.  
  7. -s, --statement-size Attempted size of INSERT statement in bytes, default 1000000
  8.  
  9. -r, --rows 试图分裂成很多行块表
  10.  
  11. -c, --compress 压缩输出文件
  12.  
  13. -e, --build-empty-files 即使表没有数据,还是产生一个空文件
  14.  
  15. -x, --regex 支持正则表达式
  16.  
  17. -i, --ignore-engines 忽略的存储引擎,用,分隔
  18.  
  19. -m, --no-schemas 不导出表结构
  20.  
  21. -k, --no-locks 不执行临时共享读锁 警告:这将导致不一致的备份
  22.  
  23. -l, --long-query-guard 长查询,默认60s
  24.  
  25. --kill-long-queries kill掉长时间执行的查询(instead of aborting)
  26.  
  27. -b, --binlogs 导出binlog
  28.  
  29. -D, --daemon 启用守护进程模式
  30.  
  31. -I, --snapshot-interval dump快照间隔时间,默认60s,需要在daemon模式下
  32.  
  33. -L, --logfile 日志文件
  34.  
  35. -h, --host
  36.  
  37. -u, --user
  38.  
  39. -p, --password
  40.  
  41. -P, --port
  42.  
  43. -S, --socket
  44.  
  45. -t, --threads 使用的线程数,默认4
  46.  
  47. -C, --compress-protocol 在mysql连接上使用压缩
  48.  
  49. -V, --version
  50.  
  51. -v, --verbose 更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
  52.  
  53. myloader参数介绍:
  54.  
  55. -d, --directory 导入备份目录
  56.  
  57. -q, --queries-per-transaction 每次执行的查询数量, 默认1000
  58.  
  59. -o, --overwrite-tables 如果表存在删除表
  60.  
  61. -B, --database 需要还原的库
  62.  
  63. -e, --enable-binlog 启用二进制恢复数据
  64.  
  65. -h, --host
  66.  
  67. -u, --user
  68.  
  69. -p, --password
  70.  
  71. -P, --port
  72.  
  73. -S, --socket
  74.  
  75. -t, --threads 使用的线程数量,默认4
  76.  
  77. -C, --compress-protocol 连接上使用压缩
  78.  
  79. -V, --version
  80.  
  81. -v, --verbose 更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2



 
mydumper输出文件:

点击(此处)折叠或打开

  1. metadata:元数据 记录备份开始和结束时间,以及binlog日志文件位置。
  2. table data:每个表一个文件
  3. table schemas:表结构文件
  4. binary logs: 启用--binlogs选项后,二进制文件存放在binlog_snapshot目录下
  5. daemon mode:在这个模式下,有五个目录0,1,binlogs,binlog_snapshot,last_dump。
  6. 备份目录是0和1,间隔备份,如果mydumper因某种原因失败而仍然有一个好的快照,
  7. 当快照完成后,last_dump指向该备份。



mydumper用例
  1. # mydumper -B ttlsa_com -o /home/data/bak -b
  2. # ls
  3. binlog_snapshot metadata ttlsa_com.my_area-schema.sql ttlsa_com.my_area.sql
  4. # cat metadata
  5. Started dump at: 2012-02-20 11:40:21
  6. SHOW MASTER STATUS:
  7. Log: mysqld-bin.000001
  8. Pos: 191363
  9. Finished dump at: 2012-02-20 11:40:22
  10. # mydumper -B ttlsa_com -o /home/data/bak -b -D --snapshot-interval=30
  11. # myloader -d /home/data/bak/last_dump -o -B ttlsa_com //还原

原文地址
http://www.ttlsa.com/mysql/mysql-backup-tool-mydumper/


Mydumper官网:http://www.mydumper.org/


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29096438/viewspace-1841318/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
毕业以后专业任职数据库工程师职位,itpub一直作为自己的笔记记录的地方,blog写的不详细,草书笔记,仅供参考!

注册时间:2013-09-12

  • 博文量
    529
  • 访问量
    1126954