技术分享 | my2sql 与 binlog2sql 解析效率 battle

binlog解析工具——binlog2sql binlog2sql是一款开源的 Python 工具,用于解析 MySQL 的 binlog 文件,生成标准 SQL 或回滚 SQL,实现数据恢复和衍生功能。数据快速回滚(闪回):通过解析 binlog 生成反向 SQL,恢复误删除或误修改的数据。主从切换修复:当主从切换后新主库数据丢失时,通过 binlog 恢复数据一致性。生成标准 SQL:用于审计、数据迁移或分析数据库操作历史。 阅读详情

作者:杨彩琳

爱可生华东交付部DBA,主要负责MySQL日常问题处理及DMP产品支持。爱好跳舞,追剧。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


前言

**大家在平时运维过程中应该都了解过或者使用过一些 binlog 解析工具,比如今天要介绍的 my2sql 和 binlog2sql 。**my2sql 是基于 my2fback 、binlog_rollback 工具二次开发而来的(go语言),binlog2sql 是 python 语言开发的 mysql binlog 解析工具,两者都可以通过解析 binlog 文件,生成原始 SQL ,回滚SQL ,去除主键的 insert sql 等,然后实现数据快速闪回,主从切换后的数据补偿等功能。

既然两个工具都可以实现解析 binlog 的功能,那么它们两个之间我们该如何来抉择呢?请跟随小编往下看“my2sql与binlog2sql之间的battle”吧。

主要参数简介【这里只罗列了几个常用的参数,有其他需求的参数可进入链接中查看】

my2sql

参数参数解释
-moderepl:伪装成从库从主库获取 binlog 文件;file:从本地文件系统获取 binlog 文件,默认repl
-local-binlog-file 当指定当指定-mode=file参数时,需要指定 -local-binlog-file binlog 文件相对路径或绝对路径
-sql要解析的 sql 类型,可选参数 insert ,update ,delete ,默认全部解析
-file-per-table为每个表生成一个 sql 文件
-output-dir将生成的结果存放到指定目录
-threads线程数,默认2个,支持并发
-work-type2sql:生成原始 sql ,rollback :生成回滚 sql ,stats:只统计 DML 、事务信息

binlog2sql

参数参数解释
–stop-never持续解析 binlog ,默认 false ,同步至执行命令的最新 binlog 位置
-B,–flashback生成回滚 sql ,可解析大文件,不受内存限制,默认 false ,与 stop-never 或 no-primary-key 不能同时添加
–start-file起始解析文件,只需文件名,无需全路径
–start-position/–start-pos起始解析位置。默认为 start-file 的起始位置。
–stop-file/–end-file终止解析文件。默认为 start-file 同一个文件。若解析模式为 stop-never ,此选项失效。
–stop-position/–end-pos终止解析位置。可选。默认为 stop-file 的最末位置;若解析模式为 stop-never ,此选项失效。
–sql-type只解析指定类型,支持 INSERT ,UPDATE ,DELETE 。多个类型用空格隔开,如–sql-type INSERT DELETE 。默认为增删改都解析。用了此参数但没填任何类型,则三者都不解析。

battle 之标准 sql 解析【解析2G大小的同一binlog文件】

环境准备:
## 查看mysql的相关参数设置
mysql> select @@server_id,@@binlog_format,@@binlog_row_image,@@max_binlog_size,@@log_bin_basename;
+-------------+-----------------+--------------------+-------------------+-----------------------------------+
| @@server_id | @@binlog_format | @@binlog_row_image | @@max_binlog_size | @@log_bin_basename                |
+-------------+-----------------+--------------------+-------------------+-----------------------------------+
|       46733 | ROW             | FULL               |        1073741824 | /data/mysql/3309/binlog/mysql-bin |
+-------------+-----------------+--------------------+-------------------+-----------------------------------+
1 row in set (0.00 sec)

## 使用sysbench创建测试数据表
[root@10-186-61-119 ~]# sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=10.186.61.119 \
--mysql-port=3309 --mysql-user=root --mysql-password=root --mysql-db=test --table-size=2000000 --tables=1  \
--threads=50 --db-ps-mode=disable --auto_inc=off --report-interval=3 --max-requests=0 --time=20 \
--percentile=95 --skip_trx=off --mysql-ignore-errors=6002,6004,4012,2013,4016,1062 --create_secondary=off prepare
sysbench 1.0.17 (using system LuaJIT 2.0.4) 
Initializing worker threads... 
Creating table 'sbtest1'...
Inserting 2000000 records into 'sbtest1'

## 使用sysbench对测试表进行压测,生成2G左右binlog数据
[root@10-186-61-119 ~]# sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=10.186.61.119  \
--mysql-port=3309 --mysql-user=root --mysql-password=root --mysql-db=test --table-size=2000000 --tables=1  \
--threads=50 --db-ps-mode=disable --auto_inc=off --report-interval=3 --max-requests=0 --time=180  \
--percentile=95 --skip_trx=off --mysql-ignore-errors=6002,6004,4012,2013,4016,1062 --create_secondary=off run
sysbench 1.0.17 (using system LuaJIT 2.0.4)
 
Running the test with following options:
Number of threads: 50
Report intermediate results every 3 second(s)
Initializing random number generator from current time
  
Initializing worker threads...
 
Threads started!

## 使用my2sql与binlog2sql解析mysql-bin.000013,mysql-bin.000014
[root@10-186-61-119 binlog]# ll
total 4579116
-rw-r----- 1 mysql mysql        209 Aug  3 14:17 mysql-bin.000010
-rw-r----- 1 mysql mysql 1073760482 Aug  3 14:32 mysql-bin.000011
-rw-r----- 1 mysql mysql 1074119415 Aug  3 14:36 mysql-bin.000012
-rw-r----- 1 mysql mysql 1073822542 Aug  3 15:53 mysql-bin.000013
-rw-r----- 1 mysql mysql 1074588226 Aug  3 16:15 mysql-bin.000014
-rw-r----- 1 mysql mysql  392707488 Aug  3 16:16 mysql-bin.000015
-rw-r----- 1 mysql mysql        246 Aug  3 16:15 mysql-bin.index

my2sql 解析过程

## 1 thread:使用脚本实现连续解析两个binlog的功能
[root@10-186-61-119 my2sql]# cat /root/sql.sh
#! /bin/bash
date;
my2sql -user root -password root -host 10.186.61.119   -port 3309 -mode file  
-local-binlog-file /data/mysql/3309/binlog/mysql-bin.000013  -work-type 2sql \
-start-file /data/mysql/3309/binlog/mysql-bin.000013 -threads 1 \
-output-dir /data/my2sql/1thread/13 > /data/my2sql/1thread/13/output;
my2sql -user root -password root -host 10.186.61.119   -port 3309 -mode file \
-local-binlog-file /data/mysql/3309/binlog/mysql-bin.000014  -work-type 2sql \
-start-file /data/mysql/3309/binlog/mysql-bin.000014 -threads 1 \
-output-dir /data/my2sql/1thread/14 > /data/my2sql/1thread/14/output

[root@10-186-61-119 ~]# ./sql.sh
Thu Aug  4 17:17:24 CST 2022

## 查看解析结果
[root@10-186-61-119 13]# pwd
/data/my2sql/1thread/13
[root@10-186-61-119 13]# ll
total 347088
-rw-r--r-- 1 root root       107 Aug  4 17:17 biglong_trx.txt
-rw-r--r-- 1 root root      7488 Aug  4 17:24 binlog_status.txt
-rw-r--r-- 1 root root 355389762 Aug  4 17:24 forward.13.sql      ## 标准sql文件
-rw-r--r-- 1 root root      9965 Aug  4 17:24 output
[root@10-186-61-119 13]# cd ../14 && ll
total 577564
-rw-r--r-- 1 root root       107 Aug  4 17:24 biglong_trx.txt
-rw-r--r-- 1 root root      3312 Aug  4 17:28 binlog_status.txt
-rw-r--r-- 1 root root 591403854 Aug  4 17:28 forward.14.sql     ## 标准sql文件
-rw-r--r-- 1 root root      9877 Aug  4 17:28 output
 
## 查看mysql-bin.000014的解析输出,完成时间为17:28。my2sql单线程解析完2G左右的binlog文件大概需要11分钟
[root@10-186-61-119 14]# less output
......
[2022/08/04 17:28:35] [info] file.go:71 finish parsing binlog from local files
[2022/08/04 17:28:35] [info] stats_process.go:266 exit thread to analyze statistics from binlog
[2022/08/04 17:28:35] [info] events.go:185 exit thread 1 to generate redo/rollback sql
[2022/08/04 17:28:35] [info] events.go:274 finish writing redo/forward sql into file
[2022/08/04 17:28:35] [info] events.go:277 exit thread to write redo/rollback sql into file

## 4 thread:使用脚本实现连续解析两个binlog的功能【脚本内容与1 thread执行的一致,只需更改线程数即可,后续不再冗余展示】
# 执行解析binlog语句
[root@10-186-61-119 ~]# ./sql.sh
Thu Aug  4 17:32:52 CST 2022
# 查看mysql-bin.000014的解析输出,完成时间为17:44。my2sql 4线程并发解析完2G左右的binlog文件大概需要12分钟
[root@10-186-61-119 14]# less output
。。。。。。。。
[2022/08/04 17:44:42] [info] file.go:71 finish parsing binlog from local files
[2022/08/04 17:44:42] [info] stats_process.go:266 exit thread to analyze statistics from binlog
[2022/08/04 17:44:42] [info] events.go:185 exit thread 4 to generate redo/rollback sql
[2022/08/04 17:44:42] [info] events.go:185 exit thread 2 to generate redo/rollback sql
[2022/08/04 17:44:42] [info] events.go:185 exit thread 3 to generate redo/rollback sql
[2022/08/04 17:44:42] [info] events.go:185 exit thread 1 to generate redo/rollback sql
[2022/08/04 17:44:42] [info] events.go:274 finish writing redo/forward sql into file
[2022/08/04 17:44:42] [info] events.go:277 exit thread to write redo/rollback sql into file

## 6thread:使用脚本实现连续解析两个binlog的功能
# 执行解析binlog语句
[root@10-186-61-119 ~]# ./sql.sh
Thu Aug  4 17:46:31 CST 2022
# 查看mysql-bin.000014的解析输出,完成时间为18:00。my2sql 6线程并发解析完2G左右的binlog文件大概需要14分钟
[root@10-186-61-119 14]# less output
。。。。。。。。
[2022/08/04 18:00:11] [info] file.go:71 finish parsing binlog from local files
[2022/08/04 18:00:11] [info] events.go:185 exit thread 6 to generate redo/rollback sql
[2022/08/04 18:00:11] [info] stats_process.go:266 exit thread to analyze statistics from binlog
[2022/08/04 18:00:11] [info] events.go:185 exit thread 1 to generate redo/rollback sql
[2022/08/04 18:00:11] [info] events.go:185 exit thread 2 to generate redo/rollback sql
[2022/08/04 18:00:11] [info] events.go:185 exit thread 5 to generate redo/rollback sql
[2022/08/04 18:00:11] [info] events.go:185 exit thread 4 to generate redo/rollback sql
[2022/08/04 18:00:11] [info] events.go:185 exit thread 3 to generate redo/rollback sql
[2022/08/04 18:00:11] [info] events.go:274 finish writing redo/forward sql into file
[2022/08/04 18:00:11] [info] events.go:277 exit thread to write redo/rollback sql into file

## 8thread:使用脚本实现连续解析两个binlog的功能
# 执行解析binlog语句
[root@10-186-61-119 ~]# ./sql.sh
Thu Aug  4 18:01:54 CST 2022
# 查看mysql-bin.000014的解析输出,完成时间为18:18。my2sql 8线程并发解析完2G左右的binlog文件大概需要17分钟
[root@10-186-61-119 14]# less output
。。。。。。。。
[2022/08/04 18:18:51] [info] file.go:71 finish parsing binlog from local files
[2022/08/04 18:18:51] [info] stats_process.go:266 exit thread to analyze statistics from binlog
[2022/08/04 18:18:51] [info] events.go:185 exit thread 2 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:185 exit thread 6 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:185 exit thread 4 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:185 exit thread 1 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:185 exit thread 8 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:185 exit thread 5 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:185 exit thread 3 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:185 exit thread 7 to generate redo/rollback sql
[2022/08/04 18:18:51] [info] events.go:274 finish writing redo/forward sql into file
[2022/08/04 18:18:51] [info] events.go:277 exit thread to write redo/rollback sql into file

binlog2sql 解析过程

## 使用脚本实现连续解析两个binlog的功能【--stop-never可以实现自动连续解析binlog文件,目前最新的binlog是15,
但是为了与my2sql解析效率进行对比,所以不用这个参数】
[root@10-186-61-119 ~]# cat binlog.sh
#! /bin/bash
date;
python /data/binlog2sql/binlog2sql/binlog2sql.py -h10.186.61.119 -P3309 -uroot -p'root' \
--start-file='mysql-bin.000013' > /tmp/binlog13.sql;
python /data/binlog2sql/binlog2sql/binlog2sql.py -h10.186.61.119 -P3309 -uroot -p'root' \
--start-file='mysql-bin.000014' > /tmp/binlog14.sql;
date;
# 执行解析binlog语句
[root@10-186-61-119 ~]# ./binlog.sh            binlg2sql解析完2G左右的binlog文件大概需要54分钟              
Wed Aug  3 17:53:59 CST 2022
Wed Aug  3 18:47:08 CST 2022
# 查看解析结果
[root@10-186-61-119 ~]# ll /tmp/
total 1688232
-rw-r--r-- 1 root root 859359140 Aug  3 18:27 binlog13.sql
-rw-r--r-- 1 root root 869387465 Aug  3 18:47 binlog14.sql

battle结果

如下表所示,从解析效率来看,my2sql更胜一筹
在这里插入图片描述

my2sql 与 binlog2sql 其他功能对比

功能特性my2sqbinlog2sql备注
解析 binlog 可生成标准 sql ,回滚 sql ,去除主键的 INSERT SQL 等支持支持两种工具都可根据不同的参数选择生成标准或者回滚 sql ,另:my2sql 生成的结果文件更全面,可根据参数分表生成 sql 文件,binlog2sql 只有 sql 文件
解析大事务或长事务支持不支持可根据需求设置参数值解析
生成 DML 统计信息,找到热点表(io 高,tps 高的源头)支持不支持
在离线模式下解析 binlog不支持不支持经验证,两种工具都必须在能连接数据库的前提下才可以解析 binlog 文件,因为在解析 binlog 生成 sql 时需要到数据库中查看表结构

总结

  • 从解析效率对比来看,my2sql 是优胜于 binlog2sql 的,并且 my2sql 另外还具有解析大事务或者长事务,生成 DML 统计信息的功能,是很实用一款 binlog 解析工具,但是通过实验来看,my2sql 的并发功能似乎并没有加快其解析效率,建议解析时使用默认的线程数即可。
  • 虽说 my2sql 优点很多,但是使用时还是需要注意,它也有一些限制,如
    1. my2sql 是伪装成从库去在线获取主库 binlog,然后进行解析,因此执行操作的数据库用户需要具有 SELECT,REPLICATION SALVE,REPLICATION CLIENT 的权限。
    2. 使用回滚/闪回功能时,binlog 格式必须为 row ,且 binlog_row_image=full ,DML 统计以及大事务分析不受影响
    3. 只能回滚 DML ,不能回滚 DDL
    4. my2sql 工具在使用时需要注意下字段的数据类型,存在解析 bug ,会导致解析的数据与原数据有差异,具体参考:https://github.com/liuhr/my2sql/issues/31
  • binlog2sql 使用时也需要注意,它也有一些限制,如
    1. MySQL Server 必须设置 server_id ,log_bin ,max_binlog_size=1G ,binlog_format=row ,binlog_row_image=full 这些参数,
    2. 与 my2sql 一样,也是伪装成从库拉取 binlog ,需要连接数据库的用户有 SELECT ,REPLICATION SLAVE ,REPLICATION CLIENT 权限
学习参考链接:

https://github.com/liuhr/my2sql

https://github.com/danfengcao/binlog2sql

binlog 解析工具——my2sql my2sql是一款基于 Go 语言开发的 MySQL binlog 解析工具,支持从二进制日志(binlog)中生成原始 SQL、回滚 SQL(闪回 SQL)、去除主键的 INSERT SQL 等,还能生成 DML 操作统计信息。数据快速回滚(闪回):通过逆向解析 binlog 生成反向 SQL,恢复误删除或误修改的数据。主从数据一致性修复:主从切换后新主库数据丢失时,通过 binlog 恢复数据。生成标准 SQL 与统计信息:用于审计、数据迁移,或分析高频更新表、大事务及主从延迟问题。 阅读详情

相关推荐

MySQL二进制日志(binlog)解析工具

binlog2parser.py是一款MySQL二进制日志(binlog)解析工具,支持mysql5.6/5.7。- binlog2parser.json文件配置日志文件对应的数据库连接信息,用于解析列名。- 支持日期、POS点、库、表过滤,SQL类型进行过滤。- 通过binlog文件生成DML语句。- 通过binlog文件生成回滚语句。

3450

mysql--my2sql 详解

从解析效率对比来看,my2sql 是优胜于 binlog2sql 的,并且 my2sql 另外还具有解析大事务或者长事务,生成 DML 统计信息的功能,是很实用一款 binlog 解析工具,但是通过实验来看,my2sql 的并发功能似乎并没有加快其解析效率,建议解析时使用默认的线程数即可。my2sql 工具在使用时需要注意下字段的数据类型,存在解析 bug ,会导致解析的数据与原数据有差异,具体参考:​ ​https://github.com/liuhr/my2sql/issues/31​​。

zll4859291的博客 2903

my2sql:解析MySQL binlog ,可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信息以及大事务分析信息

my2sql go版MySQL binlog解析工具,通过解析MySQL binlog ,可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信息。类似工具有binlog2sql、MyFlash、my2fback等,本工具基于my2fback、binlog_rollback工具二次开发而来。 用途 数据快速回滚(闪回) 主从切换后新master丢数据的修复 从binlog生成标准SQL,带来的衍生功能 生成DML统计信息,可以找到哪些表更新的比较频繁 IO高TPS高, 查出哪些表在频繁更新 找出某个时间点数据库是否有大事务或者长事务 主从延迟,分析主库执行SQL语句 除了支持常规数据类型,对大部分工具不支持的数据类型做了支持,比如json、blob、text、emoji等数据类型sql生成 产品性能对比 binlog2sql当前是业界使用最广泛MySQL回

MySQL数据恢复之binlog2sql的安装和使用,很详细

使用 binlog2sql 要求 日志是打开的 ON ,并且 binlog_format 要为 ROW 类型,如果不满足,则不能使用 binlog2sql 恢复数据,后面就不用看了。是MySQL二进制日志的一个系统变量,它定义了二进制日志的格式。binlog_format 可以设置为如下值:STATEMENT:在这个模式下,二进制日志记录的是SQL语句本身,而不是数据的更改。这种格式是最简单的,但可能存在一些限制和问题,比如对于同一个表的多个更新操作,可能会产生重复的日志记录。

studio_1的博客 7435

灵魂三问:因果推断

什么是因果推断?为什么研究因果推断?怎么进行因果推断研究?

ML OR 智能决策的博客 2902

极验滑块验证码破解与研究(一):AST还原混淆JS

极验滑块验证码破解与研究(一):AST还原混淆JS声明一、环境安装1. node安装1.1. node下载1.2. 配置环境变量1.3. node安装检测1.4. pycharm配置node环境2. babel库安装2.1. babel库安装命令2.2. babel库安装检测二、AST还原混淆JS1. 模块导入2. AST还原流程3. 复制还原需要用到的js源码4. AST还原函数详解4.1. replace_unicode4.2. replace_unicode, replace_name_array,

帯泪的鱼的博客 1万+

【MySQL工具】my2sql-快速解析binlog

go版MySQL binlog解析工具,通过解析MySQL binlog ,可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信息。类似工具有binlog2sql、MyFlash、my2fback等。

DBA之路的博客 1909

STM32裸机开发基础:寄存器直接操作详解

寄存器是微控制器内部的特殊存储单元,直接与硬件电路连接,用于控制和监视硬件功能。与普通内存不同,寄存器的每一位(bit)通常都有特定的硬件含义。寄存器就是机器的控制面板上的各种开关和指示灯每个开关控制一个具体功能(如打开LED、启动通信)每个指示灯显示一个具体状态(如数据接收完成、错误发生)// GPIO引脚定义1。

2401_88760782的博客 2186

binlog2sql

binsql2log是大众点评开源的用于解析MySQL binlog的工具, 项目地址: https://github.com/danfengcao/binlog2s...

aben_sky的专栏 1499

RT-Thread Studio与CubeMX联合编程(超级详细)

RT-Thread Studio与CubeMX联合编程 本文章参考以下文章: https://blog.youkuaiyun.com/qq_40824852/article/details/122596043 https://zhuanlan.zhihu.com/p/395106066 https://blog.youkuaiyun.com/m0_37697335/article/details/108890584 一、简介 经过上次对RT-Thread Studio的初步尝试,发现RT-Thread Studio中存在官方支

zhuzhu的博客 3万+

2023华为od机试C卷【最富裕的小家庭】C++ 实现

在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。

MISAYAONE的博客 1238

生产数据恢复系列之使用my2sql恢复MySQL8 误删数据

go版MySQL binlog解析工具,通过解析MySQL binlog ,可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信息。类似工具有binlog2sql、MyFlash、my2fback等,本工具基于my2fback、binlog_rollback工具二次开发而来。使用回滚/闪回功能时,binlog格式必须为row,且binlog_row_image=full, DML统计以及大事务分析不受影响只能回滚DML, 不能回滚DDL。

sqlora的专栏 671

RK3568平台开发系列讲解(UBOOT篇)u-boot启动流程

U-Boot(Universal Bootloader)是一种开源的引导加载程序,广泛用于嵌入式系统中。它的主要功能是初始化硬件设备,加载操作系统内核,并将控制权交给操作系统。U-Boot的启动流程可以分为多个阶段,以下是典型的U-Boot启动流程:

内核笔记 1232

my2sql工具之快速入门

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。

GreatSQL2021的博客 1905

提示词工程中的上下文隔离

已经进入context的prompt是没有办法让大模型真正的忘记的,但是可以通过prompt技巧强约束模型的后续推理中“不再使用、不再提及、不再引用”某部分提示词,这其实是一种行为抑制(behavior suppression),并不是删除。

Criss@陈磊 233

YOLO26涨点改进| TGRS 2026 | 独家创新首发、注意力改进篇| 引入LCGA局部曲率引导注意力,保持局部稳定性的同时突出关键几何区域,含多种创新改进,促进YOLO26所有任务高效涨点

🔥本文提出LCGA(局部曲率引导注意力)模块,通过引入曲率信息改进YOLO26网络模型。LCGA在局部窗口内利用深度卷积构造曲率代理,调制标准窗口注意力,使模型更关注道路、边界等曲线型结构,提升遥感图像超分辨率中的几何保真度。相比普通注意力,LCGA能精准聚焦关键几何区域,减少边缘断裂和轮廓偏移,同时保持较低计算开销。实验表明LCGA显著提升性能,在UCMerced数据集上PSNR提升0.2148dB。文章提供了三种改进方案。

Ai缝合怪、助力小伙伴高效发论文 225

MySQL闪回工具简介 及 binlog2sql工具用法

一、 简介 binlog2sql是大众点评开源的一款用于解析binlog的工具。 1. 根据文档主要用途如下: 数据快速回滚(闪回) 主从切换后新master丢数据的修复 从binlog生成标准SQL,带来的衍生功能 实际主要功能有两个: 解析binlog生成执行过的SQL 生成对应的回滚SQL 2. 使用前提 MySQL server必须设置以下参数 [mysqld] ...

Hehuyi_In的博客 3950

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[MySQL]-数据库恢复工具之binlog2sql

本文主要介绍工具binlog的使用,它可以帮助我们快速解析出原始SQL、回滚SQL、去除主键的INSERT SQL等。

liangsena的博客 2438

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

my2sql —— go语言版binlog解析及闪回工具

之前学习过python语言版binlog解析及闪回工具最近听同事介绍有了新的go语言版的my2sql。优点是不需要安装一大堆依赖包,直接可以安装使用,并且解析更高效,试用一下。

Hehuyi_In的博客 4411

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

binlog分析工具

排查问题获取一段时间内的binlog,颗粒度 表级 数据闪回操作 dml操作信息统计分析

qq_43490312的博客 4749

生产数据误删恢复之使用my2sql恢复delete误删数据

MySQL误删数据不跑路,跟我来学恢复。

huanhuanzhou blog 741

再来介绍另一个binlog文件解析的第三方工具my2sql

再来介绍另一个binlog文件解析的第三方工具my2sql

SUOYUEのBLOG 1941

MySQL Binlog 解析工具 Maxwell 详解

Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。maxwell相对于canal的优势是使用简单,它直接将数据变更输出为json字符串,不需要再编写客户端。注意:后台运行参数 --daemon。

weixin_45526912的博客 2196

MYSQL数据恢复之binlog2sql

关于数据恢复之前已分享过2篇,链接如下:MySQL数据备份及还原(一)MySQL数据备份及还原(二)今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。主要用途如下:该项目分享与git上,可以直接从git上获取,因此可以先安装git 复制因binlog2sql依赖于python2.7或python3.4+版本,如果本机python版本较低,则无法使用。安

hzp666的博客 2312

解析MySQL Binlog的利器:my2sql 使用指南

它可以将 binlog 中的事件还原为原始的 DML(INSERT/UPDATE/DELETE)或 DDL(CREATE/ALTER/DROP)语句,同时也支持生成对应的回滚 SQL(Flashback),适用于数据恢复、变更审计、同步校验等场景。本文将详细介绍 my2sql 的使用方法,并简要说明其与同类工具(如 binlog2sql)在技术特性上的差异,帮助大家根据实际需求选择合适的方案。my2sql 作为一款现代、轻量、功能完整的 binlog 解析工具,正在被越来越多的团队采纳。

gjc592的博客 434
上一篇: 故障分析 | Redis Cluster 分片内存异常使用不均问题诊断
下一篇: 技术分享 | mlaunch-MongoDB 测试环境快速构建工具
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值