日常运维中, 难免遇到要分析BINLOG的时候, 通常我们只看下哪个时间点比较集中, 然后使用mysqlbinlog去解析. 但这还是比较粗糙. 不是那么的方便, 之前也写过解析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
我们就可以得到 TOP20的大事务, 还有各个表的执行情况. 直接看可能不太好看, 我们可以放到excel里面画图
于是我们发现db1.sbtest1表占比最大, 然后就可以进一步分析了.
还支持输出md格式的文件.
python3 main.py /data/mysql_3314/mysqllog/binlog/m3314.00004* --analyze -o /tmp/t20240505.md
跟昨天的差不多, 只是美化了一下.
由于目标环境可能很复杂, 可能存在多个server_id, 多个gtid之类的情况, 还想排除某些库表, 然后做统计, 这时候这个工具的数据过滤功能就体现出来了. 我这里就不演示了. 感兴趣的自己去试试. 其它功能也自己去试.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。