学习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
浙公网安备 33010602011771号