学习MySQL binlog格式 一 :准备

在学习MySQL的时候,需要了解binlog的写入机制,于是萌生了分析binlog的念头,如果可以tail -f binlog 哪该多好。但binlog 是一个二进制文件,目前除了通过mysqlbinlog打开外就只能自己写脚本实现了,于是想到了python,怎么去解析呢?其实binlog里面是有自己的格式的,哪好就慢慢来挖吧。。。(幸好此时发现了read_binlog.py这个脚本,基本上binlog里面的格式都在里面了。。。真心感谢该脚本的开发者),现在来看看记录一下开挖过程吧:

一、小了解下binlog的格式:

       建议先看下:https://www.jianshu.com/p/c16686b35807

                            http://dev.mysql.com/doc/internals/en/binary-log.html

       卡卡。。。是不是很晕?

二、利用Python去读取binlog的数据内容:

       binlog是二进制文件,要读取二进制文件就需要使用struct模块, 所以:

      1、我们需要一个struct格式表并稍微了解一下Python的struct:http://www.cnblogs.com/kuzhon/articles/5627977.html

       

          2、需要一个binlog文件:mysql.00005

          3、相关验证命令:hexdump -Cv mysql.000005    mysqlbinlog -vvv mysql.000005

          4、这个相当重要:我找到了read_binlog.py

       

 

posted on 2018-01-31 16:11  mu0003  阅读(139)  评论(0)    收藏  举报

导航