【MySQL运维】analysis_binlog分析binlog教程

TangLu MySQL 2021-05-13 3264 0

对于DBA来说,应该会遇到“统计一个时间段中各个表的dml情况”。单个binlog可能还好,但是如果binlog文件很多又或者业务线较多时,操作起来就非常麻烦了。针对这类需求可以使用analysis_binlog工具来解决,该工具主要功能:

· 统计DML总次数以及各表DML次数
· 各表最后修改时间
· binlog事务总数
· 支持binlog to sql
· 支持多binlog文件并行解析

1、安装analysis_binlog

yum install git
git clone https://gitee.com/mo-shan/analysis_binlog.git


2、修改analysis_binlog脚本,指定mysqlbinlog和analysis_binlog路径

vi analysis_binlog/bin/analysis_binlog
work_dir='/usr/local/shell/analysis_binlog'
mysqlbinlog="/usr/local/mysql/bin/mysqlbinlog"


3、运行analysis_binlog进行统计

/usr/local/src/analysis_binlog/bin/analysis_binlog -w=2 -t=simple -s=update -bfile=/data/mysql30003/log/binlog/mysql-bin.000027


-bfile:指定需要分析的binlog文件, 支持多个文件并行分析, 逗号分隔。并行分析时结合-w参数使用
-w:指定并行数,当需要分析多个binlog文件时该参数有效,默认是1
-t:指定显示结果的格式,detail为详细信息,会输出很多不太需要关注的内容;建议使用simple看统计结果

-s:统计结果按照指定规则进行排序,按照表维度统计出DML语句的次数,支持insert(默认)、update、delete


4、统计结果查询

日志分析完毕后会在analysis_binlog/res目录生成一个以binlog名字为名的res文件,如mysql-bin.000027.res。使用vi、more等文本工具打开即可

analysis_binlog.png

评论