ITPub博客

首页 > 数据库 > 数据库开发技术 > mysqlbinlog命令详解 Part 3 - 查看十六进制格式内容

mysqlbinlog命令详解 Part 3 - 查看十六进制格式内容

原创 数据库开发技术 作者:ibsbforever 时间:2019-04-15 21:27:00 0 删除 编辑

 

往期专题请查看
这是一个坚持Oracle,Python,MySQL原创内容的公众号


前情提要

mysqlbinlog命令详解 Part 1-实验环境准备

mysqlbinlog命令详解 Part 2 - MySQL 事件类型

前面都一些章节我们对mysqldump常用命令进行了讲解

这个专题的内容为mysqlbinlog命令的详解

mysqlbinlog是MySQL中用来处理binlog的工具

1. 命令格式

我们使用如下命令来得到二进制日志文件的十六进制内容

shell> mysqlbinlog --hexdump /path/to/log/master-bin.000001

结果如上图,内容以注释符号#开头

2. 命令解析

下面我们根据上图中的内容进行解析


# at 4 该事件开始的位置(position )为4

190410 10:37:26 代表该事件发生的时间

server id 为 MySQL实例的ID号,同一个复制环境中ID需不一样

end_log_pos为该时间结束的位置为123,即下一个时间开始的位置

接下来分析十六进制的内容

  • position  该event在日志文件中的位置,即4

  • timestamp 代表事件开始的时间

  • type 代表事件类型的代码

  • master id 即生成该事件的主库的server id,在这里为该数据库实例的server id

  • size 为该事件的大小(bytes),即end_position-start_position,即123-4=119

  • master pos 为原始master日志文件中下一个事件的位置,即123,在这里为该数据库

  • flag 为事件标志的值

之后是该事件的具体内容

BINLOG关键字后是该事件的二进制内容,这个后面再说


综上所述,上面内容为该事件

  • 开始位置为4

  • 开始时间为 2019190410 10:37:26 

  • 类型代码为15,即FORMAT_DESCRIPTION_EVENT,具体内容看上节

  • server_id为 11141429  

  • size为77 即十进制的119

  • 下一个事件的位置为7b,即十进制的123

3. 参考链接

https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog-hexdump.html

好了 十六进制的内容就说到这里,下节内容为查看具体的语句




可点击阅读原文获得更好的阅读体验,推荐在PC端阅读


也可在公众站内搜索中回复 mysqlbinlog搜索相关内容

或直接打开个人网页搜索


http://


往期专题包括:


  • Python 自动化运维

  • MySQL  安装

  • 打造属于自己的监控系统

  • Python爬虫基础

  • Oracle awr报告全解析

  • Oracle ASM全解析

  • Oracle Data Guard全解析

  • Oracle ClusterWare全解析

  • Oracle常见参数解析

  • Oracle常见故障处理

  • Oracle SQL优化案例


原文作者:宅必备;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
Oracle,MySQL DBA,Python自动化运维

注册时间:2019-01-29

  • 博文量
    245
  • 访问量
    243957