加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

我的dumpers用来做什么

发布时间:2023-10-20 13:21:02 所属栏目:MySql教程 来源:
导读:这篇文章给大家分享的是有关mydumper有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Mydumper主要特性:是一个针对MySQL的高性能多线程备份和恢复工具,开发人员主要来自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有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章