[转帖]mydumper版本0.10.7新特性与原理

mydumper,版本,特性,原理 · 浏览次数 : 0

小编点评

**mydumper版本0.10.7新特性与原理** **1.什么是mydumper?** mydumper是一个数据库的逻辑备份工具,可以用于备份和恢复各种数据库。它与官方的mysqldump、mysqlpump类似。 **2.Mydumper 版本0.10.7新特性2.1为每个包含行数的表添加元数据文件。** 2.1为每个包含行数的表添加元数据文件,包含以下信息: * 表名 * 表大小 * 数据记录数 * 每个数据记录的开始和结束位置 **3.测试开始导表Sbtest的数据[root@localhost dumper_back]# mydumper -B sbtest --user=test --password=test --host=192.168.17.110 --port=19329 -o /data/dumper_back --logfile=/data/dumper_back/dump.log** 测试开始导表Sbtest的数据,并记录备份过程的信息到dump.log文件中。 **4.mydumper原理** mydumper把general_log打开,可以查看mydumper大概原理操作过程。原理过程如下: 1.加数据库全局读锁。 2.读取当前时间点的二进制日志文件名和日志写入的位置并记录在metadata文件中。 3.默认4个并行线程创建一致性读。 4.导出表结构。 5.释放全局表锁。 6.开始一致性读导出表数据。 7.导完数据后结束。

正文

mydumper版本0.10.7新特性与原理

https://www.modb.pro/db/100419

 

1.什么是mydumper?
MyDumper是一个数据库的逻辑备份工具,和官方的mysqldump,mysqlpump类似。主要有命令2个工具:mydumper和myloader。

2.Mydumper 版本0.10.7新特性
2.1为每个包含行数的表添加元数据文件。
2.2增加where条件导出。
2.3增加选项启用和禁用redo_log(mysql 8 版本的特性)
2.4添加wsrep_sync_wait 支持。(Galera集群和一致读取可能导致死锁和停机)
2.5添加快速索引创建功能(这个功能不错)。
2.6添加主键排序功能。
2.7增加了对转储文件的checksum校验支持。
2.8使用单引号而不是双引号转储字符串。
2.9增加指定快照数量。

3.测试

开始导表Sbtest的数据
[root@localhost dumper_back]# mydumper -B sbtest --user=test --password=test --host=192.168.17.110 --port=19329 -o /data/dumper_back --logfile=/data/dumper_back/dump.log

查看备份目录文件如下:
image.png

备分文件中主要有metadata文件,每个表的schema文件,每个表的数据,增加了一个表有多少数据记录的文件(文件名是schema+表名+metadata).

恢复数据库sbtest。
time myloader -B sbtest --user=test --password=test --host=192.168.17.110 --port=19329 --innodb-optimize-keys -o --directory=/data/dumack --logfile=/data/dumper_back/import.log

real 0m9.797s
user 0m0.336s
sys 0m0.175s

[root@localhost dumper_back]# time myloader -B sbtest --user=test --password=test --host=192.168.17.110 --port=19329 -o --directory=/data/dumper_back --logfile=/data/dumper_back/import.log

real 0m10.420s
user 0m0.328s
sys 0m0.181s

–innodb-optimize-keys 这个是快速索引创建功能,由于我的数据不多,导入速度提高不明显,只提高了1秒多。

备份特定条件的数据
mydumper -B sbtest -T sbtest1 --user=test --password=test --host=192.168.17.110 --port=19329 --where=’ id in (162849,162848,162847)’ -o /data/dumper_back

查看导出的数据文件
[root@localhost dumper_back]# cat sbtest.sbtest1.sql
/!40101 SET NAMES binary/;
/!40014 SET FOREIGN_KEY_CHECKS=0/;
/*!40103 SET TIME_ZONE=’+00:00’ */;
INSERT INTO sbtest1 VALUES
(162847,6,‘6’,‘6’),
(162848,7,‘7’,‘7’),
(162849,2,‘2’,‘2’);

其它功能不一一测试,感兴趣的朋友请自行测试。

4.mydumper原理
把general_log 打开,可以查看mydumper大概原理操作过程。
image.png
image.png
image.png

原理过程如下:
1.加数据库全局读锁。
2.读取当前时间点的二进制日志文件名和日志写入的位置并记录在metadata文件中。
3.默认4个并行线程创建一致性读。
4.导出表结构。
5.释放全局表锁。
6.开始一致性读导出表数据。
7.导完数据后结束。

与[转帖]mydumper版本0.10.7新特性与原理相似的内容:

[转帖]mydumper版本0.10.7新特性与原理

mydumper版本0.10.7新特性与原理 https://www.modb.pro/db/100419 1.什么是mydumper?MyDumper是一个数据库的逻辑备份工具,和官方的mysqldump,mysqlpump类似。主要有命令2个工具:mydumper和myloader。 2.Myd

[转帖]使用 mydumper/loader 全量导入数据

数据迁移 mydumper 是一个更强大的数据迁移工具,具体可以参考 https://github.com/maxbube/mydumper。 我们使用 mydumper 从 MySQL 导出数据,然后用 loader 将其导入到 TiDB 里面。 注意:虽然 TiDB 也支持使用 MySQL 官方

[转帖]2.2.1 Lightning 工作原理

https://book.tidb.io/session2/chapter2/lightning-internal.html TiDB Lightning 工具支持高速导入 Mydumper 和 CSV 文件格式的数据文件到 TiDB 集群,导入速度可达每小时 300 GB,是传统 SQL 导入方式

[转帖]TIDB - 使用 Dumpling 和 TiDB Lightning 迁移Mysql数据至TIDB中

一、TiDB Lightning介绍 TiDB Lightning 是一个将全量数据高速导入到 TiDB 集群的工具,目前支持 Mydumper 或 CSV 输出格式的数据源。你可以在以下两种场景下使用 Lightning: 迅速导入大量新数据。 备份恢复所有数据。 目前,TiDB Lightnin

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地