ITPub博客

首页 > 数据库 > 数据库开发技术 > mysqlbinlog命令详解 Part 5 通过位置和时间查看日志

mysqlbinlog命令详解 Part 5 通过位置和时间查看日志

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

 

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


前情提要

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

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

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

mysqlbinlog命令详解 Part 4 -查看行事件具体SQL语句


实验环境

此次实验的环境如下

  • MySQL 5.7.25

  • Redhat 6.10

  • binlog模式采用row模式

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

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

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

这节内容讲如何根据条件来查看特定的位置

1. 根据事件起始位置

1.1 如何查看位置

日志中查看

每个事件从#at position1开始至下一个# at position2结束

postion为具体的数字

如上图所示

INSERT事件的开始位置为1015,结束位置为1064 ,其实end_log_pos也是结束位置

查看当前日志位置

SQL>show master status;


上图代表当前日志记录到000001号日志文件的715号位置,即下个事件的起始位置为715

1.2 应用举例

下面根据上图查看INSERT事件

如不指定stop-position 则会一直到最后

shell> mysqlbinlog  -v --start-position=780 --stop-position=1064  /path/to/log/master-bin.000001


注意,这里会强制在开始显示格式描述事件,之后才跳到780

这里我们从780位置开始,即整个插入的开始阶段

如果直接从1015开始会报错,找不到表,即没有映射表的事件

2. 根据事件执行时间

2.1 如何查看执行时间

在 # at position的下一行有时间显示

# at 1015
#190416 14:20:44 

2.2  应用举例

如下例子显示了2019-04-16 14:10:56 至2019-04-16 14:12:56 发生的时间

如不指定stop-datetime则表示一直到现在

注意=后不能有空格

mysqlbinlog -v  --start-datetime="2019-04-16 14:10:56"  --stop-datetime ="2019-04-16 14:12:56" /path/to/log/master-bin.000001

3. 参考链接

https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.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