总的说来,每个binary log都是由开头4字节的魔术数和一个一个Event组成的,因此了解常用 Event 的格式,就能解析这些 Event。我们可以在Linux系统中使用hexdump-Cv查看魔术数,如下。
这里fe 62 69 6e的十六进制编码就是binary log的魔术数,因此,我们在使用mysqlbinlog进行binary log解析的时候总是从# at 4开始的。这个魔术数在源码中定义如下。