位置: 编程技术 - 正文

MySQL binlog中的事件类型详解(mysql binlog redo)

编辑:rootadmin

推荐整理分享MySQL binlog中的事件类型详解(mysql binlog redo),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql binlog redolog,mysql binlog的作用,mysql binlog的作用,mysqlbinlog -vvv,mysql binlog的作用,mysql binlog redolog,mysql binlog redolog,mysqlbinlog -d,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型。

首先,看看源码中定义的事件类型

源码位置:mysql-5.7./libbinlogevents/include/binlog_event.h

实际上还是蛮多的,下面就挑几个重点的说一下

QUERY_EVENT

QUERY_EVENT以文本的形式来记录事务的操作。

QUERY_EVENT类型的事件通常在以下几种情况下使用:

1. 事务开始时,执行的BEGIN操作。

2. STATEMENT格式中的DML操作

3. ROW格式中的DDL操作

譬如:

FORMAT_DESCRIPTION_EVENT

FORMAT_DESCRIPTION_EVENT是binlog version 4中为了取代之前版本中的START_EVENT_V3事件而引入的。它是binlog文件中的第一个事件,而且,该事件只会在binlog中出现一次。MySQL根据FORMAT_DESCRIPTION_EVENT的定义来解析其它事件。

它通常指定了MySQL Server的版本,binlog的版本,该binlog文件的创建时间。

譬如:

ROWS_EVENT

对于ROW格式的binlog,所有的DML语句都是记录在ROWS_EVENT中。

ROWS_EVENT分为三种:WRITE_ROWS_EVENT,UPDATE_ROWS_EVENT,DELETE_ROWS_EVENT,分别对应insert,update和delete操作。

MySQL binlog中的事件类型详解(mysql binlog redo)

对于insert操作,WRITE_ROWS_EVENT包含了要插入的数据

对于update操作,UPDATE_ROWS_EVENT不仅包含了修改后的数据,还包含了修改前的值。

对于delete操作,仅仅需要指定删除的主键(在没有主键的情况下,会给定所有列)

对于QUERY_EVENT事件,是以文本形式记录DML操作的。而对于ROWS_EVENT事件,并不是文本形式,所以在通过mysqlbinlog查看基于ROW格式的binlog时,需要指定-vv --base-output=decode-rows。

譬如:

XID_EVENT

在事务提交时,不管是STATEMENT还是ROW格式的binlog,都会在末尾添加一个XID_EVENT事件代表事务的结束。该事件记录了该事务的ID,在MySQL进行崩溃恢复时,根据事务在binlog中的提交情况来决定是否提交存储引擎中状态为prepared的事务。

ROTATE_EVENT

当binlog文件的大小达到max_binlog_size的值或者执行flush logs命令时,binlog会发生切换,这个时候会在当前的binlog日志添加一个ROTATE_EVENT事件,用于指定下一个日志的名称和位置。

GTID_LOG_EVENT

在启用GTID模式后,MySQL实际上为每个事务都分配了个GTID

譬如:

PREVIOUS_GTIDS_LOG_EVENT

开启GTID模式后,每个binlog开头都会有一个PREVIOUS_GTIDS_LOG_EVENT事件,它的值是上一个binlog的PREVIOUS_GTIDS_LOG_EVENT+GTID_LOG_EVENT,实际上,在数据库重启的时候,需要重新填充gtid_executed的值,该值即是最新一个binlog的PREVIOUS_GTIDS_LOG_EVENT+GTID_LOG_EVENT。

譬如:

mysql-bin.日志中的Previous_gtids是cadf2-5d4f-e6-b-cc:1,GTID是cadf2-5d4f-e6-b-cc:2和cadf2-5d4f-e6-b-cc:3,这样,在下一个日志,即mysql-bin.中的Previous_gtids是cadf2-5d4f-e6-b-cc:1-3。

STOP_EVENT

当MySQL数据库停止时,会在当前的binlog末尾添加一个STOP_EVENT事件表示数据库停止。

譬如:

以上所述是小编给大家介绍的MySQL binlog中的事件类型详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Mysql 自定义随机字符串的实现方法 前几天在开发一个系统,需要用到随机字符串,但是mysql的库函数有没有直接提供,就简单的利用现有的函数东拼西凑出随机字符串来.下面简单的说下

MySQL5.7 windows二进制安装教程 介绍1.下载解压下载地址:

MySQL5.6下windows msi安装详细介绍 一、功能介绍1.MySQLServers该功能是mysql主要的服务,也是必须安装的功能。2.MysqlWorkBench这个是mysql的客户端工具,可以单独下载安装程序安装。3.MysqlNotifi

标签: mysql binlog redo

本文链接地址:https://www.jiuchutong.com/biancheng/348249.html 转载请保留说明!

上一篇:MySQL删除外键问题小结(在mysql中,删除表的外键约束的关键字为())

下一篇:Mysql 自定义随机字符串的实现方法(mysql随机选择)

  • 网络贷款需要交钱吗
  • 税额怎么调整
  • 计提个税会计分录怎么做小规模
  • 企业持股分红
  • 工程监理费开什么发票
  • 可转债中签后怎么操作卖出
  • 银行存款支付是借还是贷
  • 应收账款计入借方贷方
  • 销项发票导出是什么意思
  • 资产负债表固定资产清理怎么填
  • 对方发票丢失怎么办理
  • 转让企业全部产权属于增值税征税范围。A对B错
  • 代办汽车过户手续
  • 企业所得税季度申报
  • 债务清偿如何进行税务处理
  • 原始凭证包括会计档案吗
  • 施工安全协议违约怎么办
  • 应收账款计提坏账比例
  • 销售发票红冲会计分录怎么做?
  • 营业外支出企业所得税怎么填
  • 跨年主营业务成本直接冲回可以吗
  • 营改增后挂靠开票作收入吗?
  • 企业所得税一般是多少
  • 未取得正式发票怎么整改
  • 专票住宿费认证怎么操作
  • 财务内账外账的优缺点
  • 人民法院被收买了怎么办
  • 发生固定资产了怎么做账
  • bios设置教程视频
  • 以银行存款支付上述材料运费480元
  • php字符串函数大全
  • 融资租赁ppt
  • 偷税漏税如何处罚
  • php精彩编程200例
  • 出差没有发票,会计如何入账
  • 优先股转化
  • 固定资产提足折旧后报废怎么处理
  • 解决烧心最快方法
  • Yii2超好用的日期和时间组件(值得收藏)
  • vue笔记项目
  • 所有者权益类的借贷方向是什么
  • 取得经营所得的个人,有综合所得的是什么意思
  • 将织梦dedecms转换到wordpress
  • mysql 5.7.1
  • 库存股会计处理流程
  • 房地产企业增值税预征率
  • 公司还没有注销但是银行账户已经去注销了
  • 农产品加计扣除1%账务处理
  • 政府会计制度累计盈余为负数
  • 执行企业会计准则和小企业会计准则的区别
  • 固定资产报废会计
  • 年平均资金占用额公式
  • 收到汇算清缴后怎么做账
  • 固定资产二级明细科目有哪些
  • 企业一般用什么系统
  • Mac下mysql 5.7.17 安装配置方法图文教程
  • win10出现
  • win2000蓝屏0x0000007b
  • xp系统如何设置用户密码
  • vsftpd 550错误
  • centos5.3安装教程
  • 苹果电脑支付在哪里设置
  • centos zsh
  • 苹果Mac OS X通知中心提示音怎么修改 OS X通知中心提示音更换方法图解
  • linux各种重定向及其含义
  • Win10如何还原输入法
  • win7系统无wifi连接
  • python import同一目录的其他文件
  • opengl 顶点
  • jquery判断div是否显示
  • jquery时间戳转换日期格式
  • android自定义viewgroup绘制
  • 如何查询车辆购买的保险
  • 公司向境外汇款限额
  • 纳税人防伪税控设备未抄报怎么操作
  • 税盘换电脑怎么登陆
  • 佛山市地税局办公室主任
  • 个人所得税怎么退税
  • 汽车销售流程有哪些环节?每个环节的主要内容是什么?
  • 残疾人就业年审经办人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设