设为首页 收藏本站
查看: 1280|回复: 0

[经验分享] MySQL多线程备份工具mydumper

[复制链接]

尚未签到

发表于 2018-9-29 13:18:21 | 显示全部楼层 |阅读模式
  Mydumper介绍(摘自网上):   http://www.mydumper.org/
  Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具。开发人员主要来自MySQL,Facebook,SkySQL公司。目前已经在一些线上使用了Mydumper。
  Mydumper主要特性:
  1.轻量级C语言写的
  2.执行速度比mysqldump快10倍
  3.事务性和非事务性表一致的快照(适用于0.2.2以上版本)
  4.快速的文件压缩
  5.支持导出binlog
  6.多线程恢复(适用于0.2.1以上版本)
  7.以守护进程的工作方式,定时快照和连续二进制日志(适用于0.5.0以上版本)
  8.开源 (GNU GPLv3)
  Mydumper安装使用
  wget http://launchpad.net/mydumper/0.5/0.5.1/+download/mydumper-0.5.1.tar.gz
  yum install glib2-devel.x86_64 zlib-devel.x86_64 pcre-devel.x86_64 cmake gcc gcc-c++
  #tar zxvf mydumper-0.5.1.tar.gz
  #cd mydumper-0.5.1
  # /usr/bin/cmake .
  #make && make install
  安装完成:
  Install the project...
  -- Install configuration: ""
  -- Installing: /usr/local/bin/mydumper
  -- Removed runtime path from "/usr/local/bin/mydumper"
  -- Installing: /usr/local/bin/myloader
  -- Removed runtime path from "/usr/local/bin/myloader"
  安装过程如果提示出错:
  -- The CXX compiler identification is unknown
  CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
  WARNINGUnable to find Sphinx documentation generator
  WARNINGMissing python-sphinx documentation tools, docs will not be built
  没有安装gcc gcc-c++
  yum install gcc gcc-c++
  mydumper -h 192.168.1.11 -uuser1 -p123456 -B testdb -o /data/mysqltest
  提示option parsing failed: Error parsing option -s, try --help
  不持用户名/密码选项与值连起来写格式
  参数说明:
  mydumper参数介绍:
  -B, –database 需要备份的库
  -T, –tables-list 需要备份的表,用,分隔
  -o, –outputdir 输出目录
  -s, –statement-size Attempted size of INSERT statement in bytes, default 1000000
  -r, –rows 试图分裂成很多行块表
  -c, –compress 压缩输出文件
  -e, –build-empty-files 即使表没有数据,还是产生一个空文件
  -x, –regex 支持正则表达式
  -i, –ignore-engines 忽略的存储引擎,用,分隔
  -m, –no-schemas 不导出表结构
  -k, –no-locks 不执行临时共享读锁 警告:这将导致不一致的备份
  -l, –long-query-guard 长查询,默认60s
  –kill-long-queries kill掉长时间执行的查询(instead of aborting)
  -b, –binlogs 导出binlog
  -D, –daemon 启用守护进程模式
  -I, –snapshot-interval dump快照间隔时间,默认60s,需要在daemon模式下
  -L, –logfile 日志文件
  -h, –host
  -u, –user
  -p, –password
  -P, –port
  -S, –socket
  -t, –threads 使用的线程数,默认4
  -C, –compress-protocol 在mysql连接上使用压缩
  -V, –version
  -v, –verbose 更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
  myloader参数介绍:
  -d, –directory 导入备份目录
  -q, –queries-per-transaction 每次执行的查询数量, 默认1000
  -o, –overwrite-tables 如果表存在删除表
  -B, –database 需要还原的库
  -e, –enable-binlog 启用二进制恢复数据
  -h, –host
  -u, –user
  -p, –password
  -P, –port
  -S, –socket
  -t, –threads 使用的线程数量,默认4
  -C, –compress-protocol 连接上使用压缩
  -V, –version
  -v, –verbose 更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
  mydumper输出文件:
  metadata:元数据 记录备份开始和结束时间,以及binlog日志文件位置。
  table data:每个表一个文件
  table schemas:表结构文件
  binary logs: 启用–binlogs选项后,二进制文件存放在binlog_snapshot目录下
  daemon mode:
  在这个模式下,有五个目录0,1,binlogs,binlog_snapshot,last_dump。备份目录是0和1,间隔备份,如果mydumper因某种原因失败而仍然有一个好的快照,当快照完成后,last_dump指向该备份。
  实例:
  # mydumper -h 192.168.1.11 -u user1 -p 123456 -B testdb -o /tmp/test0620
  # myloader -h 192.168.1.11 -u user1 -p 123456 -d /tmp/test0620 -o -B testdb
  默认开启4个线程,如果提示:
  ** (myloader:22583): CRITICAL **: the specified directory is not a mydumper backup
  导出的目录必须唯一指定不可移动复制到其它地方,否则不认
  已经线上使用,用mydumper来替代mysqldumper备份方式,经过校验测试(目录级恢复与mysqldumper恢复)的结果完全一致。
  mydumper开启多线程导入导出速度相比mysqldumper提升近十倍,但如果系统资源有限,线程数不可开启太多,否则不但带来不了速度提升,反而会更慢.


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-603852-1-1.html 上篇帖子: mysql: Host * is blocked because of many connection errors-jamp 下篇帖子: mysql 5.1安装Innodb引擎
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表