mydumper工具使用介绍
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,背景:mysqldump mysqlpump mydumper 三种逻辑备份工具的比较mysqlpump的介绍(转):http://www.cnblogs.com/zhoujinyi/p/568490
千家信息网最后更新 2025年02月01日mydumper工具使用介绍背景:mysqldump mysqlpump mydumper 三种逻辑备份工具的比较
mysqlpump的介绍(转):http://www.cnblogs.com/zhoujinyi/p/5684903.html
本文参考:http://blog.itpub.net/22664653/viewspace-2132759/
一、mydumper 具有如下特性:
1 支持多线程导出数据,速度比mysqldump快。
2 支持一致性备份,使用FTWRL(FLUSH TABLES WITH READ LOCK)会阻塞DML语句,保证备份数据的一致性。
3 支持将导出文件压缩,节约空间。
4 支持多线程恢复。
5 支持以守护进程模式工作,定时快照和连续二进制日志
6 支持按照指定大小将备份文件切割。
7 数据与建表语句分离。
二 原理(流程图 见末尾) mydumper的主要工作步骤
1 主线程 FLUSH TABLES WITH READ LOCK, 施加全局只读锁,以阻止DML语句写入,保证数据的一致性
2 读取当前时间点的二进制日志文件名和日志写入的位置并记录在metadata文件中,以供即使点恢复使用
3 START TRANSACTION WITH CONSISTENT SNAPSHOT; 开启读一致事务
4 启用N个(线程数可以指定,默认是4)dump线程导出表和表结构
5 备份非事务类型的表
6 主线程 UNLOCK TABLES,备份完成非事务类型的表之后,释放全局只读锁
7 dump InnoDB tables, 基于事物导出InnoDB表
8 事物结束
来源: http://blog.itpub.net/22664653/viewspace-2132759/
安装好之后 ,会生成两个文件:
/usr/local/bin/mydumper
/usr/local/bin/myloader
3.2 参数说明
mydumper 的常用参数
mydumper 和mysqldump 比较: mydumper :mydumper -u root -p rootroot -S /data/mysql_3306/mysql.sock -B homework -o .
恢复命令 # myloader -u root -p rootroot -s /data/mysql_3306/mysql.sock -d /data/10.0.6.11/2017-02-22/homework -B homework
mysqldump :
/opt/mysql_3306/bin/mysqldump --socket=/data/mysql_3306/mysql.sock -uroot -prootroot -T. homework
因为文件比较小 没有比较出结果,回头好好测一下
mysqlpump的介绍(转):http://www.cnblogs.com/zhoujinyi/p/5684903.html
本文参考:http://blog.itpub.net/22664653/viewspace-2132759/
一、mydumper 具有如下特性:
1 支持多线程导出数据,速度比mysqldump快。
2 支持一致性备份,使用FTWRL(FLUSH TABLES WITH READ LOCK)会阻塞DML语句,保证备份数据的一致性。
3 支持将导出文件压缩,节约空间。
4 支持多线程恢复。
5 支持以守护进程模式工作,定时快照和连续二进制日志
6 支持按照指定大小将备份文件切割。
7 数据与建表语句分离。
二 原理(流程图 见末尾) mydumper的主要工作步骤
1 主线程 FLUSH TABLES WITH READ LOCK, 施加全局只读锁,以阻止DML语句写入,保证数据的一致性
2 读取当前时间点的二进制日志文件名和日志写入的位置并记录在metadata文件中,以供即使点恢复使用
3 START TRANSACTION WITH CONSISTENT SNAPSHOT; 开启读一致事务
4 启用N个(线程数可以指定,默认是4)dump线程导出表和表结构
5 备份非事务类型的表
6 主线程 UNLOCK TABLES,备份完成非事务类型的表之后,释放全局只读锁
7 dump InnoDB tables, 基于事物导出InnoDB表
8 事物结束
来源: http://blog.itpub.net/22664653/viewspace-2132759/
三 安装使用
- 1.yum install glib2-devel mysql-devel zlib-devel pcre-devel zlib gcc-c++ gcc cmake -y
- 2.wget https://launchpadlibrarian.net/225370879/mydumper-0.9.1.tar.gz
- 3.tar xf mydumper-0.9.1.tar.gz
- 4.cd mydumper-0.9.1/
- 5.cmake .
- 6.make && make install
安装好之后 ,会生成两个文件:
/usr/local/bin/mydumper
/usr/local/bin/myloader
- 一般会遇到找不到 mysql-libraries 的问题,可以参考 stackoverflow 的回答,如果再解决不了,则可能是自己制定的MySQL安装目录的问题,比如我自己的安装目录是/opt/mysql/
- 则需要做一个软连接
- ln -s /opt/mysql/lib/libperconaserverclient.so /usr/lib64/libperconaserverclient.so
3.2 参数说明
mydumper 的常用参数
- -B, --database 要导出的dbname
- -T, --tables-list 需要导出的表名,导出多个表需要逗号分隔,t1[,t2,t3 ....]
- -o, --outputdir 导出数据文件存放的目录,mydumper会自动创建
- -s, --statement-size 生成插入语句的字节数, 默认1000000字节
- -r, --rows Try to split tables into chunks of this many rows. This option turns off --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 仅仅导出建表结构,创建db的语句
- -G, --triggers 导出触发器
- -E, --events 导出events
- -R, --routines 导出存储过程和函数
- -k, --no-locks 不执行临时的只读锁,会导致备份不一致 。WARNING: This will cause inconsistent backups
- --less-locking 最小化在innodb表上的锁表时间 --butai
- -l, --long-query-guard 设置长时间执行的sql 的时间标准
- -K, --kill-long-queries 将长时间执行的sql kill
- -D, --daemon 以守护进程的方式执行
- -I, --snapshot-interval 创建导出快照的时间间隔,默认是 60s ,该参数只有在守护进程执行的时候有用。
- -L, --logfile 指定mydumper输出的日志文件,默认使用控制台输出。
- --tz-utc SET TIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use --skip-tz-utc to disable.
- --skip-tz-utc
- --use-savepoints 使用savepoints 减少MDL 锁事件 需要 SUPER 权限
- --success-on-1146 Not increment error count and Warning instead of Critical in case of table doesn
- -d, --directory 备份文件的文件夹
- -q, --queries-per-transaction 每次事物执行的查询数量,默认是1000
- -o, --overwrite-tables 如果要恢复的表存在,则先drop掉该表,使用该参数,需要备份时候要备份表结构
- -B, --database 需要还原的数据库
- -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 显示版本
- -v, --verbose 输出模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为2
mydumper 和mysqldump 比较: mydumper :mydumper -u root -p rootroot -S /data/mysql_3306/mysql.sock -B homework -o .
恢复命令 # myloader -u root -p rootroot -s /data/mysql_3306/mysql.sock -d /data/10.0.6.11/2017-02-22/homework -B homework
mysqldump :
/opt/mysql_3306/bin/mysqldump --socket=/data/mysql_3306/mysql.sock -uroot -prootroot -T. homework
因为文件比较小 没有比较出结果,回头好好测一下
文件
备份
数据
线程
语句
支持
一致
参数
日志
时间
一致性
事务
事物
二进制
目录
结构
进程
输出
全局
多个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
王者荣耀转区服务器列表错误
网络安全宣传周活动周简报
网络安全风险方案
打卡机导出的原始数据库
程序上的数据库
pks网络安全
好的云服务器招商加盟项目
linux mc服务器
网络安全屏障照片
郑州东塔网络安全学院费用多少
杭州萧山区手机软件开发
学校有域名解析服务器吗
亿橙网络技术有限公司介绍
深圳市雅迪捷网络技术公司
服务器cpu怎么安装到笔记本
无线传感网络技术与应用心得体会
前信网络技术部
护苗网络安全课程讲解
中国企业软件开发时间
网络安全课程的英文
软件开发的其他职位职能
网络安全为
主流数据库同步技术
腾讯香港服务器
国内知名网络技术公司
计算机网络技术毕业生级别
前信网络技术部
宁波ios软件开发项目
国家网络安全纵深防疫体系
网络服务器管理人员属于哪类人