【文档】四、Mysql Binlog事件含义详解

下面对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还活着。不写入日志文件。

时间: 2024-08-05 02:24:58

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

word2007文档中大号空心字设置方法详解

今天跟大家分享的是在word2007文档中大号的空心字如何设置的方法,有需要的同学来学习下吧,比如大家要设置元旦或春节的海报啊什么的应该用得到. ①打开Word2007,首先输入你想输入的汉字,选中,点击菜单栏--开始,单击下图红色方框内的按钮. ②弹出字体设置框,切换到字体选项卡. ③设置字形和字号,例如我们可以设为加粗,字号为50. ④在效果里面勾选空心,点击确定按钮. 好了,这里空心字体完成 分类: word教程

mysql binlog二进制日志详解_Mysql

基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句. 作用: 1.二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新. 2.二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句. 不良影响: 运行服务器时若启用二进制日志则性能大约慢1%. 如何启动: 通过 –log-bin=file选项可以启用 (更改my.ini文件) 日志位置 >>如果没有指定文件名,则Mysql使

mysql binlog二进制日志详解

定义: 二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句. 作用: 1.二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新. 2.二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句. 不良影响: 运行服务器时若启用二进制日志则性能大约慢1%. 如何启动: 通过 –log-bin=file选项可以启用 (更改my.ini文件) 日志位置 >>如果没有指定文件名,则Mysql使用host

MySQL binlog中的事件类型详解_Mysql

MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型. 首先,看看源码中定义的事件类型 源码位置:mysql-5.7.14/libbinlogevents/include/binlog_event.h enum Log_event_type { /** Every time you update this enum (when you add a ty

mfc多文档程序点击文档选项卡激活什么事件

问题描述 mfc多文档程序点击文档选项卡激活什么事件 mfc多文档程序打开了多个文件,每个视图是一个选项卡,应该说每个文档对应一个选项卡,就是系统自动生成的那种样式.现在我点击选项卡1,请问激活哪个事件?我试了响应CView的OnActivate,不行,没反应........... 解决方案 http://bbs.csdn.net/topics/391047718 主框架窗口CMainFrame类添加处理AFX_WM_CHANGING_ACTIVE_TAB. mainfrm.h中:afx_msg

MySQL 四种事务隔离级别详解及对比_Mysql

MySQL 四种事务隔离级别详解及对比 按照SQL:1992 事务隔离级别,InnoDB默认是可重复读的(REPEATABLE READ).MySQL/InnoDB 提供SQL标准所描述的所有四个事务隔离级别.你可以在命令行用--transaction-isolation选项,或在选项文件里,为所有连接设置默认隔离级别. 例如,你可以在my.inf文件的[mysqld]节里类似如下设置该选项: transaction-isolation = {READ-UNCOMMITTED | READ-CO

MySQL常用聚合函数详解_Mysql

一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回指定列的最大值 四.SUM SUM(col) 返回指定列的所有值之和 五.GROUP_CONCAT GROUP_CONCAT([DISTINCT] expr [,expr ...]              [ORDER BY {unsigned_integer | col_name | expr}

Android 事件分发详解及示例代码_Android

事件分发是Android中非常重要的机制,是用户与界面交互的基础.这篇文章将通过示例打印出的Log,绘制出事件分发的流程图,让大家更容易的去理解Android的事件分发机制. 一.必要的基础知识 1.相关方法 Android中与事件分发相关的方法主要包括dispatchTouchEvent.onInterceptTouchEvent.onTouchEvent三个方法,而事件分发一般会经过三种容器,分别为Activity.ViewGroup.View.下表对这三种容器分别拥有的事件分发相关方法进行

Jquery基础之事件操作详解_jquery

事件是用户操作时页面或页面加载时引发的用来完成javascript和HTML之间的交互操作.常见的元素点击事件.鼠标事件.键盘输入事件等,较传Javascript 相比JQuery增加并扩展了基本的事件处理机制,极大的增强了事件处理的能力. 一.DOM加载事件 页面加载完毕后浏览器会通过javascript为Dom元素加载事件,使用Javascript时候使用的是window.onload方法,而Jquery使用的是$(document).ready()方法,下表 展示两个事件的异同. wind