码迷,mamicode.com
首页 > 数据库 > 详细

恶心的mysqlbinlog解释binlog

时间:2016-09-02 23:22:20      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

很多人都知道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

标签:

原文地址:http://www.cnblogs.com/kelvin19840813/p/5835923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!