专栏首页二狗的DBA之路mydumper安装笔记

mydumper安装笔记

参考:http://www.tuicool.com/articles/2eAVVvN

mydumper备份的速度、myloader的恢复速度,比mysql自己的工具执行速度快很多,大大减少业务的处理时间。

# yum install glib2-develmysql-devel zlib-devel pcre-devel -y
# wget https://launchpadlibrarian.net/225370879/mydumper-0.9.1.tar.gz
# cmake ./
#make && make install

mydumper参数介绍:

 -B, --database             Database to dump
  -T,--tables-list           Comma delimitedtable list to dump (does not exclude regex option)
 -o, --outputdir            Directory to output files to
  -s,--statement-size        Attempted size ofINSERT statement in bytes, default 1000000
  -r,--rows                  Try to splittables into chunks of this many rows. This option turns off --chunk-filesize
  -F,--chunk-filesize        Split tables intochunks of this output file size. This value is in MB
  -c,--compress              Compress outputfiles
  -e,--build-empty-files     Build dump fileseven if no data available from table
  -x,--regex                 Regularexpression for 'db.table' matching
  -i,--ignore-engines        Comma delimitedlist of storage engines to ignore
 -m, --no-schemas            Do notdump table schemas with the data
 -d, --no-data               Do notdump table data
  -G,--triggers              Dump triggers
  -E,--events                Dump events
  -R,--routines              Dump storedprocedures and functions
  -k,--no-locks              Do not executethe temporary shared read lock.  WARNING:This will cause inconsistent backups
 --less-locking             Minimize locking time on InnoDB tables.
  -l,--long-query-guard      Set long querytimer in seconds, default 60
  -K,--kill-long-queries     Kill long runningqueries (instead of aborting)
 -D, --daemon                Enabledaemon mode
 -I, --snapshot-interval    Interval between each dump snapshot (in minutes), requires --daemon, default60
  -L,--logfile               Log file name touse, by default stdout is used
 --tz-utc                    SETTIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when aserver has data in different time zones or data is being moved between serverswith different time zones, defaults to on use --skip-tz-utc to disable.
 --skip-tz-utc               
 --use-savepoints            Usesavepoints to reduce metadata locking issues, needs SUPER privilege
 --success-on-1146           Not increment error count and Warning insteadof Critical in case of table doesn't exist
 --lock-all-tables           UseLOCK TABLE for all, instead of FTWRL
  -U,--updated-since         Use Update_timeto dump only tables updated in the last U days
  --trx-consistency-only      Transactional consistency only
  -h,--host                  The host toconnect to
  -u,--user                  Username withprivileges to run the dump
  -p,--password              User password
  -P,--port                  TCP/IP port toconnect to
  -S,--socket                UNIX domainsocket file to use for connection
 -t, --threads               Numberof threads to use, default 4
  -C,--compress-protocol     Use compressionon the MySQL connection
  -V,--version               Show the programversion and exit
  -v,--verbose               Verbosity ofoutput, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2

myloader参数介绍:

  -d,--directory                   Directoryof the dump to import导入备份目录
  -q,--queries-per-transaction     Number ofqueries per transaction, default 1000
  -o,--overwrite-tables            Drop tablesif they already exist如果表存在删除表
  -B,--database                    Analternative database to restore into需要还原的库
  -s,--source-db                   Database torestore
  -e,--enable-binlog               Enablebinary logging of the restore data
  -h,--host                        The host toconnect to
  -u,--user                        Usernamewith privileges to run the dump
  -p,--password                    Userpassword
  -P,--port                        TCP/IP portto connect to
  -S,--socket                      UNIX domainsocket file to use for connection
  -t,--threads                     Number ofthreads to use, default 4使用的线程数量,默认4
 
  -C,--compress-protocol           Usecompression on the MySQL connection
  -V,--version                     Show theprogram version and exit
  -v,--verbose                     Verbosityof output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2

mydumper输出文件说明:

metadata:元数据,记录备份开始和结束时间,以及binlog日志文件位置。
table data:每个表一个文件
table schemas:表结构文件
daemon mode:在这个模式下,有五个目录0,1,binlogs,binlog_snapshot,last_dump。
备份目录是0和1,间隔备份,如果mydumper因某种原因失败而仍然有一个好的快照,
当快照完成后,last_dump指向该备份。

mydumper用例

备份hellodb数据库到当前目录下

# mydumper -uroot -proot -B hellodb -o ./
# ll  是每个表单独备份的
# cat metadata  可以看到
以守护进程方式每30分钟备份一次
# mydumper -uroot -proot -B hellodb-o /home/data/bak -D -I 30
 

数据库的还原覆盖操作
# myloader -o -B hellodb -o -d/home/data/bak/last_dump

最后,附上一个mysqldump和mydumper的速度对比图。

[root@db ~]# time mysqldump -uroot -proot -B Mobile > aa.sql
real     0m1.863s
user     0m1.571s
sys      0m0.164s
[root@db ~]# time mydumper -u root -p root -B Mobile -o /db/backup/mobile/ 
real     0m0.851s
user     0m0.735s
sys      0m0.101s

很明显地可以看出mydumper的效率比mysqldump要高很多。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql调优工具

    https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl

    二狗不要跑
  • 一个mysql /tmp目录爆满问题的处理

    登录到服务器,看了下发现100GB的根目录,居然使用了差不多90GB。这台服务器上只跑了一个MySQL,应该不是日志未清理等其它原因造成的。

    二狗不要跑
  • redis主从同步,总是显示master_link_status:down的解决方法

    前几天,在修改一台从节点的redis的监听端口后,重启了下redis,发现master_link_status:很长时间一直都是down状态。

    二狗不要跑
  • C++核心准则C.152:永远不要将派生类数组的指针赋值给基类指针

    Subscripting the resulting base pointer will lead to invalid object access and p...

    面向对象思考
  • 一些Cloud for Customer的客户需求

    Partner has created his own stable anchor to point to his embedded component EC_...

    Jerry Wang
  • Tracking Emerges by Colorizing Videos

    Carl Vondrick , Abhinav Shrivastava , Alireza Fathi , Sergio Guadarrama ,Kevin M...

    用户1908973
  • 使用Apache Server 的ab进行web请求压力测试

    参考:http://www.cnblogs.com/spring3mvc/archive/2010/11/23/2414741.html 自己写代码经常是顺着逻...

    Ryan-Miao
  • Java魔法堂:注解用法详解——@SuppressWarnings

    一、前言                                     编码时我们总会发现如下变量未被使用的警告提示: ?   上述代码编译通过且可以...

    ^_^肥仔John
  • 创业杂谈

    上周和一个投资人见面,聊了很多创业的事情。我虽然目前不在创业的节奏,几年内也不太会重返创业领域(需要花时间陪孩子,为孩子营造好的环境),但还是很关注创业圈的一举...

    tyrchen

扫码关注云+社区

领取腾讯云代金券