美文网首页
【文档】三、Mysql Binlog事件类文件和类型

【文档】三、Mysql Binlog事件类文件和类型

作者: 端木轩 | 来源:发表于2017-10-08 15:03 被阅读26次

    在内部,服务器使用C++类文件来表示binlog事件。标准在log_event.h文件中,这些类的方法代码在log_event.cc中。

    log_event是基础类。其他的详细的事件子类都是来源于他。一个事件的二进制序列包含头和数据两部分。类型码在每个事件的头部出现。事件可能的类型码定义在log_event_type枚举类中:

    enum Log_event_type { 
      UNKNOWN_EVENT= 0, 
      START_EVENT_V3= 1, 
      QUERY_EVENT= 2, 
      STOP_EVENT= 3, 
      ROTATE_EVENT= 4, 
      INTVAR_EVENT= 5, 
      LOAD_EVENT= 6, 
      SLAVE_EVENT= 7, 
      CREATE_FILE_EVENT= 8, 
      APPEND_BLOCK_EVENT= 9, 
      EXEC_LOAD_EVENT= 10, 
      DELETE_FILE_EVENT= 11, 
      NEW_LOAD_EVENT= 12, 
      RAND_EVENT= 13, 
      USER_VAR_EVENT= 14, 
      FORMAT_DESCRIPTION_EVENT= 15, 
      XID_EVENT= 16, 
      BEGIN_LOAD_QUERY_EVENT= 17, 
      EXECUTE_LOAD_QUERY_EVENT= 18, 
      TABLE_MAP_EVENT = 19, 
      PRE_GA_WRITE_ROWS_EVENT = 20, 
      PRE_GA_UPDATE_ROWS_EVENT = 21, 
      PRE_GA_DELETE_ROWS_EVENT = 22, 
      WRITE_ROWS_EVENT = 23, 
      UPDATE_ROWS_EVENT = 24, 
      DELETE_ROWS_EVENT = 25, 
      INCIDENT_EVENT= 26, 
      HEARTBEAT_LOG_EVENT= 27, 
      IGNORABLE_LOG_EVENT= 28,
      ROWS_QUERY_LOG_EVENT= 29,
      WRITE_ROWS_EVENT = 30,
      UPDATE_ROWS_EVENT = 31,
      DELETE_ROWS_EVENT = 32,
      GTID_LOG_EVENT= 33,
      ANONYMOUS_GTID_LOG_EVENT= 34,
      PREVIOUS_GTIDS_LOG_EVENT= 35, 
      ENUM_END_EVENT 
      /* end marker */ 
    };
    

    INTVAR_EVENT有子类型,定义在Int_event_type枚举类中:

    enum Int_event_type { 
      INVALID_INT_EVENT = LAST_INSERT_ID_EVENT = INSERT_ID_EVENT = 2 
    };
    

    相关文章

      网友评论

          本文标题:【文档】三、Mysql Binlog事件类文件和类型

          本文链接:https://www.haomeiwen.com/subject/hxneyxtx.html