mydumper有什么用

这篇文章给大家分享的是有关mydumper有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Mydumper主要特性:是一个针对MySQL的高性能多线程备份和恢复工具,开发人员主要来自MySQL,Facebook,SkySQL公司。

特性:
    1:轻量级C语言写的
    2:执行速度比mysqldump快10倍
    3:事务性和非事务性表一致的快照(适用于0.2.2以上版本)
    4:快速的文件压缩
    5:支持导出binlog
    6:多线程恢复(适用于0.2.1以上版本)
    7:以守护进程的工作方式,定时快照和连续二进制日志(适用于0.5.0以上版本)
    8:开源 (GNU GPLv3)
    
安装地址及安装方法:
yum install glib2-devel mysql-devel zlib-devel pcre-devel zlib gcc-c++ gcc cmake -y
wget https://launchpadlibrarian.net/225370879/mydumper-0.9.1.tar.gz
tar xf mydumper-0.9.1.tar.gz
cd mydumper-0.9.1/
cmake .
make && make install

下面是percona-xtrabackup和mydumper压缩备份后的大小:
[root@test-5-69 bak]# du -sh *
3.3G 2017-02-09_04-00-02
3.3G 2017-02-10_04-00-02
3.3G 2017-02-11_04-00-02
3.3G 2017-02-12_04-00-02
3.3G 2017-02-13_04-00-02
3.3G 2017-02-14_04-00-02
3.3G 2017-02-15_04-00-02
852M all_20170215

在测试库中使用的优势:
mydumper导出的形式是每个表一个文件,对开发和测试误操作恢复十分有效。而percona-xtrabackup是对全库,恢复也是全库。 对单个表误操作恢复繁琐。

mydumper备份后的存储格式:
[root@test-5-69 all_20170215]# ls
jxcommoninfo.orderinfo-schema.sql.gz              jxorder.ord_OrderCount.sql.gz                      metadata
jxcommoninfo.orderinfo.sql.gz                     jxorder.ord_OrderExchangeCodeDetail-schema.sql.gz  mysql.columns_priv-schema.sql.gz
jxcommoninfo-schema-create.sql.gz                 jxorder.ord_OrderExchangeCodeDetail.sql.gz         mysql.db-schema.sql.gz
jxorder.checksums-schema.sql.gz                   jxorder.ord_OrderExt-schema.sql.gz                 mysql.db.sql.gz
jxorder.dsns-schema.sql.gz                        jxorder.ord_OrderExt.sql.gz                        mysql.event-schema.sql.gz
jxorder.dsns.sql.gz                               jxorder.ord_OrderMarkLog-schema.sql.gz             mysql.func-schema.sql.gz
jxorder.dz_packingMaterialsOrder-schema.sql.gz    jxorder.ord_OrderMark-schema.sql.gz                mysql.help_category-schema.sql.gz

[root@test-5-69 all_20170215]# mydumper –help
Application Options:
  -B, –database              需要备份的数据库,一个数据库一条命令备份,要不就是备份所有数据库,包括mysql。
  -T, –tables-list           需要备份的表,用逗号分隔。
  -o, –outputdir             备份文件目录
  -s, –statement-size        生成插入语句的字节数,默认1000000,这个参数不能太小,不然会报 Row bigger than statement_size for tools.t_serverinfo
  -r, –rows                  试图用行块来分割表,该参数关闭–chunk-filesize
  -F, –chunk-filesize        行块分割表的文件大小,单位是MB
  -c, –compress              压缩输出文件
  -e, –build-empty-files     即使表没有数据,也产生一个空文件
  -x, –regex                 正则表达式匹配,如’db.table’
  -i, –ignore-engines        忽略的存储引擎,用逗号分隔 
  -m, –no-schemas            不导出表结构
  -d, –no-data               不导出表数据
  -G, –triggers              导出触发器
  -E, –events                导出事件
  -R, –routines              导出存储过程
  -k, –no-locks              不执行共享读锁 警告:这将导致不一致的备份
  –less-locking              减到最小的锁在innodb表上.
  -l, –long-query-guard      设置长查询时间,默认60秒,超过该时间则会报错:There are queries in PROCESSLIST running longer than 60s, aborting dump
  -K, –kill-long-queries kill掉长时间执行的查询,备份报错:Lock wait timeout exceeded; try restarting transaction

  -D, –daemon                启用守护进程模式
  -I, –snapshot-interval     dump快照间隔时间,默认60s,需要在daemon模式下
  -L, –logfile               使用日志文件,默认标准输出到终端
  –tz-utc                    备份的时候允许备份Timestamp,这样会导致不同时区的备份还原会出问题,默认关闭,参数:–skip-tz-utc to disable.
  –skip-tz-utc               
  –use-savepoints            使用保存点记录元数据的锁信息,需要SUPER权限
  –success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn’t exist
  –lock-all-tables           锁全表,代替FLUSH TABLE WITH READ LOCK
  -U, –updated-since         Use Update_time to dump only tables updated in the last U days
  –trx-consistency-only      Transactional consistency only
  -h, –host                  The host to connect to
  -u, –user                  Username with privileges to run the dump
  -p, –password              User password
  -P, –port                  TCP/IP port to connect to
  -S, –socket                UNIX domain socket file to use for connection
  -t, –threads               备份执行的线程数,默认4个线程
  -C, –compress-protocol     在mysql连接上使用压缩协议
  -V, –version               Show the program version and exit
  -v, –verbose               更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
  
  
[root@test-5-69 all_20170215]# myloader –help
Application Options:
  -d, –directory                   备份文件所在的目录
  -q, –queries-per-transaction     每个事务的query数量, 默认1000
  -o, –overwrite-tables            如果表存在则先删除,使用该参数,需要备份时候要备份表结构,不然还原会找不到表
  -B, –database                    指定需要还原的数据库
  -s, –source-db                   还原的数据库
  -e, –enable-binlog               启用二进制日志恢复数据
  -h, –host                        The host to connect to
  -u, –user                        Username with privileges to run the dump
  -p, –password                    User password
  -P, –port                        TCP/IP port to connect to
  -S, –socket                      UNIX domain socket file to use for connection
  -t, –threads                     使用的线程数量,默认4
  -C, –compress-protocol           连接上使用压缩协议
  -V, –version                     Show the program version and exit
  -v, –verbose                     更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2

#!/bin/sh
. /etc/profile

DIR=’/my/bak/’
DATE=`date +%Y%m%d_%H-%M`

/usr/local/bin/mydumper -c -o $DIR$DATE

find $DIR -mindepth 1 -maxdepth 1 -type d -mtime +3 -exec rm -rf {} \\;

感谢各位的阅读!关于“mydumper有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


【AD】美国洛杉矶/香港/日本VPS推荐,回程电信CN2 GIA线路,延迟低、稳定性高、免费备份_搬瓦工

【AD】炭云:36元/年/1GB内存/20GB SSD空间/500GB流量/5Gbps端口/KVM/香港/国际线路LUMEN