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

[经验分享] MySQL多线程备份恢复工具mydumper,myloder

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-5 09:13:24 | 显示全部楼层 |阅读模式

mydumper是多线程备份工具,默认开启4个线程,比mysqldump的速度更快

mydumper备份时,数据和表结构是分开的,比如备份test表时,会生成test.sql文件和test.schema.sql文件。

myloader导数据的时候默认不会记录二进制日志,即使你的sql_log_bin=on.


准备安装介质:
        下载mydumper-0.6.2.tar.gz
        下载地址:https://launchpad.net/mydumper

安装依赖包:
        # yum install glib2-devel mysql-devel zlib-devel pcre-devel

编译安装
# tar zxvf mydumper-0.6.2.tar.gz
# cd mydumper-0.6.2
# mkdir bin
# cd bin
# cmake ../
# make
# make install

安装好后可以看到/usr/local/bin目录下面多了mydumper和myloader两个命令

# ll /usr/local/bin/
total 188
-rwxr-xr-x 1 root root 132868 Aug  3 22:51 mydumper
-rwxr-xr-x 1 root root  47491 Aug  3 22:51 myloader


# ./mydumper  --database=test --outputdir=/data/backup/test
./mydumper: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

创建软链接即可解决这个报错:
# ln -s /usr/local/mysql/lib/libmysqlclient.so.18/usr/lib/
# ldconfig -v

导出:
# mydumper  --database=test --outputdir=/data/backup/test

导入:
#  myloader  -B test  -d /data/backup/test

利用备份建从库:
cd /data/backup/test
里面有一个metadata文件,这个文件记录的是当前的binlog文件及pos,可以使用这个信息搭建从库


mydumper参数介绍:
  -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



运维网声明 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-94258-1-1.html 上篇帖子: mysql常用命令 下篇帖子: mysql登录报错ERROR 1045 (28000的解决方法 多线程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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