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

[pymysqlbinlog] 使用pymysqlbinlog来分析BINLOG

原创 大大刺猬 2024-05-05
450

导读

日常运维中, 难免遇到要分析BINLOG的时候, 通常我们只看下哪个时间点比较集中, 然后使用mysqlbinlog去解析. 但这还是比较粗糙. 不是那么的方便, 之前也写过解析binlog的工具的. 但都是零零星星的. 这次来一个汇总的.

分析BINLOG

首先下载 pymysqlbinlog

wget https://github.com/ddcw/pymysqlbinlog/archive/refs/heads/main.zip unzip main.zip cd pymysqlbinlog-main

然后使用脚本分析某N个BINGLOG

python3 main.py /data/mysql_3314/mysqllog/binlog/m3314.00004* --analyze

image.png

我们就可以得到 TOP20的大事务, 还有各个表的执行情况. 直接看可能不太好看, 我们可以放到excel里面画图
image.png

于是我们发现db1.sbtest1表占比最大, 然后就可以进一步分析了.

还支持输出md格式的文件.

python3 main.py /data/mysql_3314/mysqllog/binlog/m3314.00004* --analyze -o /tmp/t20240505.md

image.png
image.png
跟昨天的差不多, 只是美化了一下.

其它

由于目标环境可能很复杂, 可能存在多个server_id, 多个gtid之类的情况, 还想排除某些库表, 然后做统计, 这时候这个工具的数据过滤功能就体现出来了. 我这里就不演示了. 感兴趣的自己去试试. 其它功能也自己去试.

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论