本文主要是介绍书生笔记-Binlog Event Type解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
binlog以事件的形式记录数据库变更情况。通过执行show binlog events in "XXX"命令可以查看事件
源码中定义的binlog event type事件类型,源码位置:binlog_event.h
先来看一个例子:
可以看到第一个event type是前面文章我们介绍的第一个event,FORMAT_DESCRIPTION_EVENT,event type 为Format_desc,这里我们还可以看到其他类型,如:
Previous_gtids:上一个binlog结束的gtid值
GTID:记录的事务的GTID值
Query:具体的执行语句,具体内容稍后解释。
Rotate:这个类型前面的文章也介绍了,这是binlog文件中的最后一个event,记录下一个binlog的信息。
那一共有哪些类型的event呢?
https://dev.mysql.com/doc/internals/en/binlog-event.html
可通过官网地址查看,一共有36中event 类型。这里列出一些常见的如下:
1,QUERY_EVENT=2: The query event is used to send text querys right the binlog.
不仅会记录一些语句运行的环境,比如SQL_MODE,客户端字符集,自增设置,当前登录的数据库等信息,还会记录执行时间,其中DML有所不同:
DML:记录的是第一条数据更改后的时间,不是执行DML真正执行的时间,一个DML可能修改很多数据,部分语句记录的是BEGIN
主要发送文本语句,语句模式,会记录实际发生的SQL语句,ROW模式下的binlog,也会记录DDL语句。
2,FORMAT_DESCRIPTION_EVENT,这个前面解析过了,是标识binlog的版本信息的。
这篇关于书生笔记-Binlog Event Type解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!