解析MySQL binlog -(1)大致结构及事件类型

  

1,简介

  

binlog以事件的形式记录数据库变更情况。通过执行显示binlog事件“binlog file"命令可以查看事件

  
 <代码> mysql>显示binlog事件“mysql-bin.000002”;
  + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | Log_name | Pos | Event_type | Server_id | End_log_pos | |信息
  + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | mysql-bin。000002 | 4 | Format_desc | 120 | |服务器版本:5.6.26-debug-log Binlog版本:4 |
  | mysql-bin。查询| 000002 | 120 | | 191 | |开始
  | mysql-bin。000002 | 191 | Table_map | 236 | | table_id: 70 (yzs.t1) |
  | mysql-bin。000002 | 236 | Write_rows | 280 | | table_id: 70旗帜:STMT_END_F |
  | mysql-bin。000002 | 280 | Xid | 311 | |提交/* Xid=9 */|
  + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  5行集(0.00秒) 
  
 <代码> mysql>显示binlog事件“mysql-bin.000001”;
  + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | Log_name | Pos | Event_type | Server_id | End_log_pos | |信息
  + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | mysql-bin。000001 | 4 | Format_desc | 120 | |服务器版本:5.6.26-debug-log Binlog版本:4 |
  | mysql-bin。查询| 000001 | 120 | | 197 | |开始
  | mysql-bin。查询| 000001 | 197 | 294 | |使用yz”;插入t1选择2,2 |
  | mysql-bin。000001 | 294 | Xid | 325 | |提交/* Xid=9 */|
  | mysql-bin。停止000001 | 325 | | 348 | | |
  + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  5行集(0.00秒) 
  

2, binlog事件格式及类型
解析MySQL binlog -(1)大致结构及事件类型”> <br/>分为2部分,事件头和事件体。事件头包括:</p>
  <p>时间戳:事件开始的执行时间,固定4字节展示是新纪元(时代时间)以来的秒数。</p>
  <p>事件类型:指明该事件的类型</p>
  <p>服务器ID:服务器的服务器ID </p>
  <p>事件大小:该事件的长度</p>
  <p> next-log pos:固定4字节下一个事件的开始位置</p>
  <p>标记:固定2字节事件标记<br/> # define LOG_EVENT_BINLOG_IN_USE_F 0 x1这个旗帜表示是否binlog正确的关闭了<br/> . .其他标签可参看源码log_event.h </p>
  <p>事件体:根据事件类型的不同,包含了不同的信息。</p>
  <p> binlog事件类型:<br/> <img src=解析MySQL binlog -(1)大致结构及事件类型