binlog是一系列文件,這些文件包含了Mysql服務(wù)實(shí)例中數(shù)據(jù)的變化。
- binlog包含一系列二進(jìn)制日志文件,還包含一個(gè)索引文件。
- 每個(gè)日志文件包含了一個(gè)4字節(jié)的魔法數(shù),后面跟著描述數(shù)據(jù)變化的事件內(nèi)容。
- 魔法數(shù)字可以是0xfe 0x62 0x69 0x6e=0xfe 'b''i''n'(這是在log_event.h中定義的BINLOG_MAGIC常量)
- 每個(gè)事件包含了事件頭字節(jié),后面跟著事件數(shù)據(jù)字節(jié)。
- 事件頭字節(jié)包含了事件類(lèi)型、事件發(fā)生的時(shí)間、服務(wù)器信息等等。
- 事件數(shù)據(jù)字節(jié)包含了事件類(lèi)型的詳細(xì)信息,例如特定的數(shù)據(jù)改變。
- 第一個(gè)時(shí)間是個(gè)描述事件,描述了這個(gè)文件的格式版本(也就是這個(gè)文件中記錄事件的格式)
- 剩余的事件是根據(jù)版本來(lái)進(jìn)行解釋的
- 最后的事件是輪換事件,描述了下個(gè)binlog的文件名
- 索引文件是一個(gè)文本文件,列出了當(dāng)前的binlog文件。
日志文件是以.NNNNNN結(jié)尾的。索引文件以.index結(jié)尾。所有的文件有個(gè)相同的前綴。默認(rèn)的binlog文件的前綴名是“HOSTNAME-bin”。relay 日志文件的命名類(lèi)似,只不過(guò)文件的前綴是“HOSTNAME-relay”。
...
HOSTNAME-bin.0000101
HOSTNAME-bin.0000102
HOSTNAME-bin.0000103
...
HOSTNAME-bin.index
...
HOSTNAME-relay.0000101
HOSTNAME-relay.0000102
HOSTNAME-relay.0000103
...
HOSTNAME-relay.index