解读一个binlog文件的内容

解析一个binlog

mysqlbinlog -v mysql-bin.000001


/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;# at 4
#240402 17:28:13 server id 4294967295  end_log_pos 123 CRC32 0x64dbff7b         Start: binlog v 4, server v 5.7.33-log created 240402 17:28:13 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;# at 123
#240402 17:28:13 server id 4294967295  end_log_pos 154 CRC32 0xb537fbe7         Previous-GTIDs
# [empty]# at 1183
#240408 15:48:36 server id 4294967295  end_log_pos 1248 CRC32 0x0745b44d        GTID    last_committed=5        sequence_number=6       rbr_only=no
SET @@SESSION.GTID_NEXT= 'bb4b388c-e113-11ee-ba3f-fa163e8de5fc:6'/*!*/;
# at 1248
#240408 15:48:36 server id 4294967295  end_log_pos 1363 CRC32 0x985fdfb2        Query   thread_id=5466  exec_time=1     error_code=0
SET TIMESTAMP=1712562516/*!*/;
create table t1 (id int,name varchar(11))
/*!*/;
# at 1363
#240408 15:48:54 server id 4294967295  end_log_pos 1428 CRC32 0x50762f78        GTID    last_committed=6        sequence_number=7       rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= 'bb4b388c-e113-11ee-ba3f-fa163e8de5fc:7'/*!*/;
# at 1428
#240408 15:48:54 server id 4294967295  end_log_pos 1500 CRC32 0x36404378        Query   thread_id=5466  exec_time=0     error_code=0
SET TIMESTAMP=1712562534/*!*/;
BEGIN
/*!*/;
# at 1500
#240408 15:48:54 server id 4294967295  end_log_pos 1548 CRC32 0xec159bba        Table_map: `test`.`t1` mapped to number 165
# at 1548
#240408 15:48:54 server id 4294967295  end_log_pos 1593 CRC32 0x5e82e487        Write_rows: table id 165 flags: STMT_END_FBINLOG '
ZqETZhP/MAAAAAwGAAAAAKUAAAAAAAEABHRlc3QAAnQxAAIDDwILAAO6mxXs
ZqETZh7/LQAAADkGAAAAAKUAAAAAAAEAAgAC//wBAAAABGphY2uH5IJe
'/*!*/;
### INSERT INTO `test`.`t1`
### SET
###   @1=1
###   @2='jack'
# at 1593
#240408 15:48:54 server id 4294967295  end_log_pos 1624 CRC32 0x315287b3        Xid = 152849
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

逐段分析


/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;# at 4
#240402 17:28:13 server id 4294967295  end_log_pos 123 CRC32 0x64dbff7b         Start: binlog v 4, server v 5.7.33-log created 240402 17:28:13 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;

FORMAT_DESCRIPTION_EVENT 记录mysql版本号,binlog版本,创建时间等信息,是第一个事件

# at 123
#240402 17:28:13 server id 4294967295  end_log_pos 154 CRC32 0xb537fbe7         Previous-GTIDs
# [empty]

PREVIOUS_GTIDS_LOG_EVENT 代表已经分配的GTID集

# at 1183
#240408 15:48:36 server id 4294967295  end_log_pos 1248 CRC32 0x0745b44d        GTID    last_committed=5        sequence_number=6       rbr_only=no
SET @@SESSION.GTID_NEXT= 'bb4b388c-e113-11ee-ba3f-fa163e8de5fc:6'/*!*/;

GTID_LOG_ENEVT 在开启GTID的情况下,每个事务都会分配一个GTID值

# at 1248
#240408 15:48:36 server id 4294967295  end_log_pos 1363 CRC32 0x985fdfb2        Query   thread_id=5466  exec_time=1     error_code=0
SET TIMESTAMP=1712562516/*!*/;
create table t1 (id int,name varchar(11))
/*!*/;

QUERY_EVENT:DDL操作,statement下的DML操作,begin操作

# at 1363
#240408 15:48:54 server id 4294967295  end_log_pos 1428 CRC32 0x50762f78        GTID    last_committed=6        sequence_number=7       rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= 'bb4b388c-e113-11ee-ba3f-fa163e8de5fc:7'/*!*/;

GTID_LOG_ENEVT 在开启GTID的情况下,每个事务都会分配一个GTID值

# at 1428
#240408 15:48:54 server id 4294967295  end_log_pos 1500 CRC32 0x36404378        Query   thread_id=5466  exec_time=0     error_code=0
SET TIMESTAMP=1712562534/*!*/;
BEGIN
/*!*/;

QUERY_EVENT:DDL操作,statement下的DML操作,begin操作

# at 1500
#240408 15:48:54 server id 4294967295  end_log_pos 1548 CRC32 0xec159bba        Table_map: `test`.`t1` mapped to number 165
# at 1548
#240408 15:48:54 server id 4294967295  end_log_pos 1593 CRC32 0x5e82e487        Write_rows: table id 165 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
###   @1=1
###   @2='jack'

ROW_EVENT 插入数据

# at 1593
#240408 15:48:54 server id 4294967295  end_log_pos 1624 CRC32 0x315287b3        Xid = 152849
COMMIT/*!*/;

XID_EVENT 记录COMMIT操作

详细字段说明

sequence_number: 事务编号,全局唯一。
last_committed: 上组事务中最后提交的那个事务的编号。
rbr_only=yes ROW格式下生成的
thread_id 执行该事件的线程id
Query 代表query_log event
exec_time=0 表示执行时间单位秒
error_code=0 表示错误码
240408 15:48:54: 事件的开始执行时间
server id 4294967295 生成该事务的server_id
end_log_pos 1548 事件的结束位置点
CRC32 0xec159bba 事件完整性校验机制
Table_map ROW格式下的ROW_EVENT的前一个事件,用于描述表的内部ID和列的数据类型
Table_map WRITE_ROW_EVENT 表示insert操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解计算机系统 家庭作业 2.84

这题没有这个要求所以可以用 ? > : < 这种运算 以下代码用的是位级运算.因为我误解了题意 呜呜呜 想看用判断的代码请自行百度 ((((ux<<9>>9)<<((ux<<1>>24)-127)) - ((uy<<9>>9)<<((uy<<1>>24)-127)))>…

【攻防世界】ics-05(PHP伪协议+代码审计+Linux指令)

首先根据题目提示&#xff0c;进入云平台设备维护中心页面&#xff1a; 页面无异常&#xff0c;检查源代码&#xff1a; 发现注入点 ?page&#xff0c;大致有如下思路&#xff1a;1、SSTI模板引擎漏洞&#xff1b;2、XXS&#xff1b;3、PHP伪协议。 首先尝试SSTI漏洞&#xf…

市场复盘总结 20240408

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率 33% 最常用的…

如何实现docker内部容器之间的端口访问

Docker 的普及促使众多应用迁至其上部署&#xff0c;得益其诸多优势。然而&#xff0c;相较于传统非 Docker 环境中各应用通过 127.0.0.1:端口 即可轻松互访&#xff0c;Docker 容器若未经端口映射&#xff0c;彼此间端口则无法直接相通。是否存在更优方案以应对这一挑战&#…

简单易懂的Metabase入门指南

简单易懂的Metabase入门指南 数据分析在现代企业决策过程中扮演着至关重要的角色。但是&#xff0c;数据分析和可视化工具往往过于复杂&#xff0c;特别是对于非技术人员而言。Metabase是一个开源的数据分析和BI&#xff08;商业智能&#xff09;工具&#xff0c;它以易用性为…

代码审计中应注意的命令执行函数以及命令

目录 1.远程代码执行函数 1.1.php 1.1.1.call_user_func() 和 call_user_func_array() 1.1.2.create_function() 1.1.3.assert() 1.1.4.preg_replace() 1.1.5.array_map(), array_walk(), array_filter() 1.1.6.register_shutdown_function() 和 register_tick_functio…

数据结构__顺序表

概念及结构 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。在数组上完成数据的增删查改 需要用到数组&#xff1a;数组的绝对优势&#xff1a;下标的随机访问&#xff08;因为物理空间连续&#xff09; a[i]等…

NatCross实现NASCAB云可云内网穿透指南

一、简介 1、NAS_CAB介绍 跨平台NAS软件,远程管理照片,影音和文件&#xff0c;无需专用设备,个人版永久免费。官网地址&#xff1a;https://www.nascab.cn/。 2、NatCross介绍 NatCross是内网穿透工具,也是免费的端口映射和DDNS动态域名解析软件。软件从2021年上线以来&…

10.枚举

1.背景及定义 枚举是在JDK1.5以后引入的。 主要用途是&#xff1a; 将一组常量组织起来&#xff0c; 在这之前表示一组常量通常使用定义常量的方式&#xff1a; public static final int RED 1; public static final int GREEN 2; public static final int BLACK 3; 但是…

2005-2023年各省国内生产总值指数分季度数据

2005-2023年各省国内生产总值指数分季度数据 1、时间&#xff1a;2005-2023年 2、来源&#xff1a;国家统计局、各省统计局 3、指标&#xff1a;地区生产总值指数(上年同期100)_累计值(%) 4、范围&#xff1a;31省 5、时间跨度&#xff1a;季度 6、缺失情况&#xff1a;无…

Redis 主从复制、哨兵模式、Cluster集群

目录 一、Redis 主从复制 1、主从复制介绍 2、主从复制的作用 3、主从复制流程&#xff1a; 4、搭建redis主从复制 4.1所有服务器搭建redis数据库 4.2修改Redis配置文件&#xff08;Master节点操作&#xff09; ​4.3修改Redis配置文件&#xff08;slave节点操作&#x…

【C++】详解 Unique 函数 (小白一看就懂!!!)

目录 一、前言 二、去重函数 Unique() ✨头文件 ✨用法与作用 ✨注意点 三、常考面试题 四、共勉 一、前言 经常刷算法题的朋友&#xff0c;肯定会经常看到题目中提到 去重 这样的字眼&#xff0c;或者需要我们通过 去重 来解题&#xff0c;由于之前对 去重 了解的不太清楚…

LinkedHashMap 集合源码分析

LinkedHashMap 集合源码分析 文章目录 LinkedHashMap 集合源码分析一、字段分析二、内部类分析三、构造方法分析四、内部方法分析五、总结 LinkedHashMap 是 HashMap 的子类&#xff0c;在 HashMap 的基础上维护了双向链表&#xff0c;保证了有序性。默认是不排序的&#xff0c…

JavaScript模块化开发的前世今生

一个兜兜转转&#xff0c;从“北深”回到三线城市的小码农&#xff0c;热爱生活&#xff0c;热爱技术&#xff0c;在这里和大家分享一个技术人员的点点滴滴。欢迎大家关注我的微信公众号&#xff1a;果冻想 前言 现代化的编程语言&#xff0c;基本都支持模块化的开发&#xff…

Transformer算法详解

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;TensorFlow入门实战&#xff5c;第3周&#xff1a;天气识别&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 一、文本输入人类理解 词向量&#xff08;E…

ICLR24_OUT-OF-DISTRIBUTION DETECTION WITH NEGATIVE PROMPTS

摘要 分布外检测&#xff08;OOD Detection&#xff09;的研究对于开放世界&#xff08;open-world&#xff09;学习非常重要。受大模型&#xff08;CLIP&#xff09;启发&#xff0c;部分工作匹配图像特征和提示来实现文本-图像特征之间的相似性。 现有工作难以处理具有与已…

Java常用API_System——常用方法及代码演示

1.System.exit(int status) 方法的形参int status为状态码&#xff0c;如果是0&#xff0c;说明虚拟机正常停止&#xff0c;如果非0&#xff0c;说明虚拟机非正常停止。需要将程序结束时可以调用这个方法 代码演示&#xff1a; public class Test {public static void main(S…

UVA156 反片语 解题报告

UVA156 反片语 解题报告 题目链接 https://vjudge.net/problem/UVA-156 题目大意 输入一些单词&#xff0c;找出所有满足如下条件的单词&#xff1a;该单词不能通过字母重排&#xff0c;得到输入文本中的另外一个单词。在判断是否满足条件时&#xff0c;字母不分大小写&…

浏览器禁用cookie后session还能用吗?

1.背景 最近有朋友问我其面试时遇到的一个不常见的问题&#xff1a;浏览器禁用cookie后session还能用吗&#xff1f;&#xff0c;怎么解答。 2.cookie与session联系入手 2.1 理论基础 一般默认情况下&#xff0c;在会话中&#xff0c;服务器存储 session 的 sessionid &…

第四百四十七回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 使用方法 3. 内容总结 我们在上一章回中介绍了"如何在页面上显示蒙板层"相关的内容&#xff0c;本章回中将介绍overlay_tooltip这个三方包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本…