恶心的mysqlbinlog解释binlog

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了恶心的mysqlbinlog解释binlog相关的知识,希望对你有一定的参考价值。

很多人都知道mysqlbinlog 解释出来的binlog的 insert , update 是位置相反的 , 还有表字段都是@0 ... @数字 , 很恶心!!!

但没看到有人在 mysql8.0 功能需求时提问题出来 , 我也没有提出来 , 哈哈 !!! 

唯有自己翻译 frm 文件,获取表字段名称,字段出来咯 , 然后对应一下贴贴贴上去翻译出binlog的sql语句咯

技术分享

FE 01 识别是否frm文件 , 固定

0A 是mysql版本识别位置table.cc 的 FRM_VER+3+ MY_TEST(create_info->varchar);  为6是5.0+版本mysql , 9 或者 10是有varchar的frm文件

0C 影射枚举值从 handler.h文件中 legacy_db_type , 0C 是 12 刚刚好是innodb类型 ,如下:

enum legacy_db_type
{
DB_TYPE_UNKNOWN=0,DB_TYPE_DIAB_ISAM=1,

......, DB_TYPE_INNODB,
......
};

03 00 , 反着看 00 30  mysql 5.0+ 总是为3 ,如果不是3,那就算了.....

00 10 , 反着看 10 00  IO_SIZE: 4096

 

明天待续补充............

以上是关于恶心的mysqlbinlog解释binlog的主要内容,如果未能解决你的问题,请参考以下文章

Python3参数传递-忒恶心了吧

Mysql之mysqlbinlog使用

mysqlbinlog(日志管理工具)

技术分享 mysqlbinlog 技巧

关于mysql中mysqlbinlog的问题

mysqlbinlog 参数及用法说明