网易首页 > 网易号 > 正文 申请入驻

技术分享 | MySQL binlog 分析工具 analysis_binlog 的使用介绍

0
分享至

作者:莫善
某互联网公司资深 DBA。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

目 录

一、概述

二、环境信息

三、环境准备

1、centos1

2、centos2

3、centos3

四、测试

1、准备数据

2、flush binlog

3、MySQL 压测

4、解析 binlog

五、总结

一、概述

作为一个 MySQL DBA,查看分析 binlog 是日常工作的一部分。

不知道你是否遇到过这样的需求:一个时间段,各个表的 dml 统计情况。

但,如果 binlog 文件很多呢?又或者负责的业务线比较多,有多个业务都有这种需求呢?

其实需求很简单,只是操作起来有点头疼?

所以,本文就针对这类需求做了一个测试。

如果你在工作中也有类似的烦恼,或者经常需要批量解析 binlog,这篇文章或许对你有帮助。

二、环境信息

三、环境准备1、centos1

(1)安装 MySQL

hostname
ip a|grep 192
cat /proc/cpuinfo | grep processor
free -m
df -h|grep data
/usr/local/mysql80/bin/mysql -uroot -p1234567890 -h192.168.1.10 -P3306 -e "select version()"

提示:省略安装 MySQL 的步骤。

2、centos2

(1)安装 sysbench

sysbench --version

提示:省略安装 sysbench 的步骤。centos 6 的 yum 可以参照如下操作配置。

备份源文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo-backup
编辑文件:vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-6
failovermethod=priority
#baseurl=https://vault.centos.org/6.9/os/x86_64/
baseurl=http://mirrors.sohu.com/centos/6.10/os/x86_64/
gpgcheck=0
清理软件源,重新建立源数据缓存
yum clean all && yum makecache

(2)准备测试脚本

https://gitee.com/mo-shan/script/blob/master/sysbench.sh #这里获取,或者可以自己写脚本

3、centos3

(1)analysis_binlog

analysis_binlog 是 git 开源项目,可实现高效分析 binlog,现有功能如下:

  • • 统计各个表的 dml 次数,表的最后修改时间。

  • • 业务表的 binlog to sql。

  • • 多个 binlog 文件可并行解析。

# yum –y install git #没有git环境的需要安装git
mkdir -p /data/git && cd /data/git/ && git clone https://gitee.com/mo-shan/analysis_binlog.git
# https://gitee.com/mo-shan/analysis_binlog/tree/master # 安装详情可参考这里

常用参数介绍

--mysqlbinlog-path or –mpath #mysqlbinlog工具的路径,不指定就使用系统PATH
--binlog-file or -bfile #binlog文件列表,逗号隔开
--threads or -w #线程数,并行解析binlog。
--binlog2sql or -sql #将binlog解析成sql

(2)准备 MySQL

不需要安装 MySQL,但是分析工具依赖 mysqlbinlog 工具,所以需要用同版本的 MySQL 安装包。

四、测试
1、准备数据

利用测试脚本准备五张表,并分别 insert 1w 行的数据。请先创建测试库。

/usr/local/mysql80/bin/mysql -uroot -p1234567890 -h192.168.1.10 -P3306
create database if not exists mstest; #创建测试库这个库名跟sysbench脚本对应

2、flush binlog

为了测试结果更加直观,建议先 flush MySQL 的 binlog。

/usr/local/mysql80/bin/mysql -uroot -p1234567890 -h192.168.1.10 -P3306
flush binary logs;
show binary logs;

3、MySQL 压测

利用 sysbench 并发十个线程开始压测。

select 操作时不会记录 binlog,为了结果更加直观,本次使用 lua 脚本的是只有写操作。【oltp_update_non_index.lua】 压测时间为 60s,压测结果如下:2860 个 dml,且 2860 个事务。

4、解析 binlog

(1)拷贝 binlog 文件

将需要解析的 binlog 拷贝到分析服务器【centos1 centos3】。本次测试只需要分析【3306-binlog.000011】一个文件。

(2)解析 binlog- 统计 dml

统计各个表的 dml 情况。结果如下:统计到总共有 2860 个 update,2860 个事务。

(3)解析 binlog-binlog2sql

针对各个表可以实现 binlog2sql。

(4)解析 binlog- 并行

并行解析多个文件。

五、总结

本文主要介绍了通过 analysis_binlog 工具解决开篇提出的需求,希望对你有帮助。

analysis_binlog 工具还有很多可选的参数,有兴趣的读者可以通过【--help】查看帮助手册。

analysis_binlog 工具利用内存换取时间,加上可以并行分析多个文件,所以能做到高效解析 binlog,但是这可能也是缺点。不建议在生产环境服务器使用,否则容易将内存打满。

使用 analysis_binlog 工具过程中有任何问题都可以在 git 上给我留言或者也欢迎广大读者提 Issues。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
女子大闹美联航最新!目击者再曝猛料,争执果然有隐情,恐难被罚

女子大闹美联航最新!目击者再曝猛料,争执果然有隐情,恐难被罚

辉哥说动漫
2026-06-27 16:48:35
韩国队2天5次遭暴击!小组第3排名已跌至第8,最新出线概率仅44%

韩国队2天5次遭暴击!小组第3排名已跌至第8,最新出线概率仅44%

我爱英超
2026-06-27 13:11:45
安徽少女溺亡后续!母亲控诉救援队,当地霸气反击,网友:真活该

安徽少女溺亡后续!母亲控诉救援队,当地霸气反击,网友:真活该

哄动一时啊
2026-06-26 16:42:24
世界杯:佛得角0-0创历史!首次参赛就出线+将战阿根廷 沙特出局

世界杯:佛得角0-0创历史!首次参赛就出线+将战阿根廷 沙特出局

念洲
2026-06-27 10:09:07
广州全线闭店!海底捞旗下的网红“排队王”撑不住了?开业仅一年

广州全线闭店!海底捞旗下的网红“排队王”撑不住了?开业仅一年

品牌观察官
2026-06-27 15:54:16
辣眼睛!山东一业主在家没穿衣裤,被邻居偷拍张贴在电梯间公示

辣眼睛!山东一业主在家没穿衣裤,被邻居偷拍张贴在电梯间公示

火山詩话
2026-06-26 16:48:05
真把浦东机场当成免费收容所了?

真把浦东机场当成免费收容所了?

阿振观点
2026-06-27 17:18:59
白玉兰奖名场面!台上台下哭成一片,杨紫妆花了,杨幂陪跑又陪哭

白玉兰奖名场面!台上台下哭成一片,杨紫妆花了,杨幂陪跑又陪哭

萌神木木
2026-06-26 23:57:34
伊朗革命卫队:打击美军多个目标以回应美空袭伊朗

伊朗革命卫队:打击美军多个目标以回应美空袭伊朗

环球网资讯
2026-06-27 11:09:07
话题|小组第三之争白热化,韩国队命悬一线

话题|小组第三之争白热化,韩国队命悬一线

北青网-北京青年报
2026-06-27 14:44:03
两场大火烧光家底,他靠榴莲披萨翻身,年入20亿

两场大火烧光家底,他靠榴莲披萨翻身,年入20亿

中国企业家杂志
2026-06-26 18:13:41
1场1-0,给韩国雪中送炭!出线突然柳暗花明,世界杯冠军耻辱出局

1场1-0,给韩国雪中送炭!出线突然柳暗花明,世界杯冠军耻辱出局

侃球熊弟
2026-06-27 10:01:27
俄罗斯前防长谢尔盖·伊万诺夫去世,普京向其亲属表示慰问

俄罗斯前防长谢尔盖·伊万诺夫去世,普京向其亲属表示慰问

环球网资讯
2026-06-26 20:54:19
动辄没收,本质上是那灰色十年的思维

动辄没收,本质上是那灰色十年的思维

林中木白
2026-06-27 10:31:05
瑞典一女部长带3个月婴儿参加欧盟会议,发言时婴儿突然啼哭,她一句话幽默回应

瑞典一女部长带3个月婴儿参加欧盟会议,发言时婴儿突然啼哭,她一句话幽默回应

大象新闻
2026-06-27 10:54:09
920人遇难,已确认有7名中国公民!美方:死亡超10万人概率为24%!记者连线委内瑞拉大地震幸存中国姑娘:活着已是万幸

920人遇难,已确认有7名中国公民!美方:死亡超10万人概率为24%!记者连线委内瑞拉大地震幸存中国姑娘:活着已是万幸

每日经济新闻
2026-06-27 17:07:27
广东女子溺亡全程曝光!人被卡石逢,多人救援无果,最后活活憋死

广东女子溺亡全程曝光!人被卡石逢,多人救援无果,最后活活憋死

川渝视觉
2026-06-27 17:09:43
山东曲阜通报尼山镇牌坊倒塌事故:7人受伤送医救治,其中1人经抢救无效死亡

山东曲阜通报尼山镇牌坊倒塌事故:7人受伤送医救治,其中1人经抢救无效死亡

潇湘晨报
2026-06-27 18:20:37
克里米亚上演大逃亡,乌克兰发出全球飞手招募令

克里米亚上演大逃亡,乌克兰发出全球飞手招募令

史政先锋
2026-06-27 16:02:29
韩国球迷集体表态,我们输给南非,是因为中国国足坑了我们

韩国球迷集体表态,我们输给南非,是因为中国国足坑了我们

酷侃体坛
2026-06-27 17:43:17
2026-06-27 19:32:49
爱可生云数据库
爱可生云数据库
企业数据处理技术整体解决方案
411文章数 20关注度
往期回顾 全部

科技要闻

GPT-5.6发布,你暂时用不了!Mythos也放行

头条要闻

两不满14岁女孩称被强奸警方立案后撤案 办案刑警回应

头条要闻

两不满14岁女孩称被强奸警方立案后撤案 办案刑警回应

体育要闻

世界杯最火门将,站到了阿根廷和梅西面前

娱乐要闻

四提白玉兰终封后,杨紫:仍觉不真实

财经要闻

OpenAI推迟IPO重创软银!

汽车要闻

搭载华为乾崑ADS 5 全新猛士M817上市售29.99万起

态度原创

本地
教育
艺术
房产
旅游

本地新闻

世界杯球迷节:比球赛更好玩的派对

教育要闻

25万位次考生能上河南师范大学?心动吗?中外合作办学第一年招生,电气专业及自动化 物理学 计算机 专业多多任你选

艺术要闻

这才是草书的“天花板”,水平高过王羲之

房产要闻

全国高考大放水,300分就能上本科!论上岸率,海南没输过!

旅游要闻

上海小囡集合!美影厂变身开放式园区!2家文创店+3大主题展超好逛!打卡攻略

无障碍浏览 进入关怀版