下面对binlog中事件做个简单说明:

  • UNKNOWN_EVENT

这个事件类型应该永远不会出现。它从不会写入binlog中。如果binlog中的事件没法被识别成其他已知事件,他被当做UNKNOWN_EVENT。

  • START_EVENT_V3

在binlog文件最开始的符号事件(在Mysql的4.0和4.1版本中,这个事件只会在服务启动时,写到第一个binlog文件中)。这个事件在3.23到4.1版本中使用,在5.0版本中被FORMAT_DESCRIPTION_EVENT代替。

  • QUERY_EVENT

当更新操作完成时写入。

  • STOP_EVENT

当mysqld停止时写入。

  • ROTATE_EVENT

当mysqld切换一个新的binlog文件时写入。当FLUSH LOGS命令执行或者当前的binlog文件太大时,这个事件会出现。binlog文件的最大值由max_binlog_size定义。

  • INTVAR_EVENT

当一个语句使用到AUTO_INCREMENT列时,或者LAST_INSERT_ID()函数时写入。在这个语句的其他事件之前写入。这个只在QUERY_EVENT之前写入,并且在基于行的日志中不会使用。这个事件是以下面两种子类型的方式写入的

INSERT_ID_EVENT表示下个语句中使用到的自增列。

LAST_INSERT_ID_EVENT表示下个语句中用到的LAST_INSERT_ID()函数。

  • LOAD_EVENT

在Mysql 3.23中用于LOAD DATA INFILE语句中。

  • SLAVE_EVENT

没使用过。

  • CREATE_FILE_EVENT

在Mysql 4.0和4.1版本中用于LOAD DATA INFILE语句。

  • APPEND_BLOCK_EVENT

在Myql 4.0中用于LOAD DATA INFILE语句。

  • EXEC_LOAD_EVENT

在Mysql 4.0和4.1中用于LOAD DATA INFILE语句。

  • DELETE_FILE_EVENT

在Myql 4.0中用于LOAD DATA INFILE语句。

  • NEW_LOAD_EVENT

在Mysql 4.0和4.1中用于LOAD DATA INFILE语句。

  • RAND_EVENT

当一个语句使用RAND()函数时写入。在这个语句的所有其他事件之前。表示在下个语句中使用RAND()生成随机数用到的种子值。这个只在QUERY_EVENT之前写入,并且在基于行的日志中不记录。

  • USER_VAR_EVENT

一个语句中使用到user变量时写入。在这个语句的所有事件之前。表示在下个语句中使用到的user变量值。这个只在QUERY_EVENT之前写入,并且在基于行的日志中不记录。

  • FORMAT_DESCRIPTION_EVENT

每个binlog文件开头的符号事件。用于Mysql 5.0版本,替代START_EVENT_V3。

  • XID_EVENT

在支持XA事务的存储引擎中,事务提交时产生。普通的事务是这样实现的:发送一个包含BEGIN语句的QUERY_EVENT和一个包含COMMIT语句的QUERY_EVENT(或者当事务回滚时的ROLLBACK语句)

  • BEGIN_LOAD_QUERY_EVENT

用于Mysql 5.0中LOAD DATA INFILE语句。

  • EXECUTE_LOAD_QUERY_EVENT

用于Mysql 5.0中LOAD DATA INFILE语句。

  • TABLE_MAP_EVENT

用于基于行日志记录。这个事件在每个行操作事件之前。他把表定义映射为一个数字,表定义包含库名和表名,还有列的定义。这个事件的目的是当master和slave的同一张表有不同的定义时,允许进行主从复制。属于同一个事务的行操作事件会被按顺序放到一个组中,在这种情况下,每个事件序列组以TABLE_MAP_EVENT事件开头,每张表的序列组有一个。

  • PRE_GA_WRITE_ROWS_EVENT

WRITE_ROWS_EVENT的废弃版本

  • PRE_GA_UPDATE_ROWS_EVENT

UPDATE_ROWS_EVENT的废弃版本

  • PRE_GA_DELETE_ROWS_EVENT

DELETE_ROWS_EVENT的废弃版本

  • WRITE_ROWS_EVENT

用于基于行的日志记录方式,这个事件记录了单表的行插入。

  • UPDATE_ROWS_EVENT

用于基于行的日志记录方式,这个事件记录了单表的行更新。

  • DELETE_ROWS_EVENT

用于基于行的日志记录方式,这个事件记录了单表的行删除。

  • INCIDENT_EVENT

用于记录master上发生的非常规事件。这个事件会通知slave,master发生了一些会导致数据不一致的事件。

  • HEARTBEAT_LOG_EVENT

master发送给slave的事件,让slave知道master还活着。不写入日志文件。

【文档】四、Mysql Binlog事件含义详解的更多相关文章

  1. elasticsearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解

    一.快速入门1. 查看集群的健康状况http://localhost:9200/_cat http://localhost:9200/_cat/health?v 说明:v是用来要求在结果中返回表头 状 ...

  2. ElasticSearch 文档(document)内部机制详解

    1.数据路由 1.1 文档存储怎么路由到相应分片? 一个文档,最终会落在主分片的一个分片上,到底应该在哪一个分片?这就是数据路由. 1.2 路由算法 shard = hash(routing) % n ...

  3. PDF文档工具:pdfFactory快照功能详解

    pdfFactory的快照功能,是通过一种类似截图的方式,将文档中的内容,如标题.图片.段落.文字等进行剪切的功能.剪切后的内容会转化为文本框的形式,我们可以对其进行加边框.旋转等编辑处理,但不能对其 ...

  4. MySQL binlog日志操作详解

    MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. bi ...

  5. 环境搭建文档——Windows下的Git搭建详解

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.具体安装步骤如下: 第一步:先从官网下载最新版本的Git 官网地址:https://git-scm.com/do ...

  6. 中文翻译:pjsip文档(四)之ICE Session的使用方法

    1:pjsip教程(一)之PJNATH简介 2:pjsip教程(二)之ICE穿越打洞:Interactive Connectivity Establishment简介 3:pjsip教程(三)之ICE ...

  7. 部署openstack的官网文档解读mysql的配置文件

    部署openstack的官网文档解读mysql的配置文件(使用与ubutu和centos7等系统) author:headsen chen  2017-10-12 16:57:11 个人原创,严禁转载 ...

  8. DOM事件类型详解

    一.表单事件: input事件当<input>.<textarea>的值发生变化时触发.此外,打开contenteditable属性的元素,只要值发生变化,也会触发input事 ...

  9. mysql学习3:mysql之my.cnf详解

    mysql之my.cnf详解 本文转自:https://www.cnblogs.com/panwenbin-logs/p/8360703.html 以下是 my.cnf 配置文件参数解释: #*** ...

随机推荐

  1. Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。

    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题. 1.显示日期的 ...

  2. Codeforces766B Mahmoud and a Triangle 2017-02-21 13:47 113人阅读 评论(0) 收藏

    B. Mahmoud and a Triangle time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  3. 软件项目第一个Sprint评分

    第一组 跑男 跑男组他们设计的是极速蜗牛小游戏,他们的界面背景图片做的挺漂亮,现在为止也实现了大部分功能, 但是我没有太听懂他们的游戏规则. 因为蜗牛出发后,每次碰到屏幕边缘后都会有确定的反弹结果,也 ...

  4. ASP.NET Core2基于RabbitMQ对Web前端实现推送功能

    在我们很多的Web应用中会遇到需要从后端将指定的数据或消息实时推送到前端,通常的做法是前端写个脚本定时到后端获取,或者借助WebSocket技术实现前后端实时通讯.因定时刷新的方法弊端很多(已不再采用 ...

  5. Npoi将excel数据导入到sqlserver数据库

    /// <summary> /// 将excel导入到datatable /// </summary> /// <param name="filePath&qu ...

  6. css+html+JQuery 万能弹出层,居中显示

    function ShowMsg(str) {//要提示的文字 $(".payment_time_mask").remove(); $("body").appe ...

  7. leetcode 罗马数字转整数

    罗马数字包含以下七种字符:I,V,X,L,C,D 和M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II ,即为两个并列的 1.1 ...

  8. 纸壳CMS 3.0升级.Net Core 2.1性能大提升

    微软发布了.Net Core 2.1正式版,纸壳CMS也在第一时间做了升级,并做了一系列的优化和调整,性能大幅提升,并解决了一些历史遗留问题,添加了一些新功能. Github https://gith ...

  9. sgi stl内存池实现------源码加翻译

    class __default_alloc_template { enum { unit = 8 };//分配单位 后面直接用8代替 enum { max_bytes = 128 };//最大分配字节 ...

  10. 激活xmind的方法

    https://blog.csdn.net/qq_38238041/article/details/81107127 这里以windows为例来演示,其它操作系统需根据情况修改相应步骤. 下载安装包 ...