温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mydumper有什么用

发布时间:2021-11-06 09:40:40 来源:亿速云 阅读:181 作者:小新 栏目:MySQL数据库

这篇文章给大家分享的是有关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有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI