暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

宅必备 2019-04-22
218

 

往期专题请查看www.zhaibibei.cn
这是一个坚持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://www.zhaibibei.cn


往期专题包括:


  • Python 自动化运维

  • MySQL  安装

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

  • Python爬虫基础

  • Oracle awr报告全解析

  • Oracle ASM全解析

  • Oracle Data Guard全解析

  • Oracle ClusterWare全解析

  • Oracle常见参数解析

  • Oracle常见故障处理

  • Oracle SQL优化案例


文章转载自宅必备,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论