如何用MySQL binlog分析小工具实现查询?
摘要:去年写的一个小工具,用于在线获取 MySQL binlog 的大小、开始时间、结束时间和持续时长。 什么场景下会用上这个工具呢? 云服务场景,无法登录 MySQL 服务器查看 binlog 的时间戳信息。 主从延迟时,可以使用这个工具来查看
去年写的一个小工具,用于在线获取 MySQL binlog 的大小、开始时间、结束时间和持续时长。
什么场景下会用上这个工具呢?
云服务场景,无法登录 MySQL 服务器查看 binlog 的时间戳信息。
主从延迟时,可以使用这个工具来查看 binlog 的大小或者某个时间段 binlog 的写入量。
基于时间点的恢复时,可以根据操作的大致时间来定位对应的 binlog 文件。
不多说,直接看看工具的效果。
./mysql-binlog-time-extractor -h 10.0.0.108 -P 3306 -u root -p 123456
+------------------+--------------------+---------------------+---------------------+-----------+---------+
| Log_name | File_size | Start_time | End_time | Duration | GTID |
+------------------+--------------------+---------------------+---------------------+-----------+---------+
| mysql-bin.000046 | 805 (805.00 bytes) | 2025-06-22 11:09:38 | 2025-06-24 10:33:59 | 47:24:21 | 503-504 |
| mysql-bin.000047 | 12103 (11.82 KB) | 2025-06-24 10:33:59 | 2025-07-05 00:02:27 | 253:28:28 | 505-517 |
| mysql-bin.000048 | 261 (261.00 bytes) | 2025-07-05 00:02:27 | 2025-07-10 15:03:01 | 135:00:34 | |
| mysql-bin.000049 | 261 (261.00 bytes) | 2025-07-10 15:03:01 | 2025-07-10 15:05:29 | 00:02:28 | |
| mysql-bin.000050 | 9074 (8.86 KB) | 2025-07-10 15:05:29 | 2025-07-23 12:20:32 | 309:15:03 | 518-550 |
| mysql-bin.000051 | 586710 (572.96 KB) | 2025-07-23 12:20:32 | 2025-07-24 08:48:08 | 20:27:36 | 551-754 |
| mysql-bin.000052 | 464 (464.00 bytes) | 2025-07-24 08:48:08 | | | |
+------------------+--------------------+---------------------+---------------------+-----------+---------+
工具地址
项目地址:https://github.com/slowtech/mysql-binlog-time-extractor
可直接使用二进制包,也可以源码编译。
直接使用二进制包
# wget https://github.com/slowtech/mysql-binlog-time-extractor/releases/download/v1.0.0/mysql-binlog-time-extractor-linux-amd64.tar.gz
# tar xvf mysql-binlog-time-extractor-linux-amd64.tar.gz
解压后,会在当前目录生成一个名为mysql-binlog-time-extractor的可执行文件。
源码编译
# wget https://github.com/slowtech/mysql-binlog-time-extractor/archive/refs/tags/v1.0.0.tar.gz
# tar xvf v1.0.0.tar.gz
# cd mysql-binlog-time-extractor-1.0.0/
# go build
编译完成后,会在当前目录生成一个名为mysql-binlog-time-extractor的可执行文件。
