Mysql
Mysql入门系列
Mysql字典
Mysql安装部署
原有环境部署多个版本
从头部署多个版本
Mysql-5.6 二进制多实例部署
centos7部署二进制mysql-5.6
centos7部署mysql-5.7
Mysql原理说明
索引的数据结构及算法原理
千万的数据,你是怎么查询的?
分库分表方案
Mysql资料 视图
Mysql资料 查询条件
Mysql资料 存储索引
Mysql资料 数据类型
Mysql资料 主键
Mysql资料 索引
Mysql资料 锁机制
Mysql资料 查询SQL执行顺序
Mysql资料 用户权限详解
Mysql资料 慢查询
Mysql服务维护
shell脚本 mysql-binlog分析
shell脚本 binlog方式增量备份mysql
shell脚本 mysqldump方式全备份mysql
阿里云RDS备份 恢复到本地
xtra+binlog增量备份脚本
xtrabackup备份脚本
mysqldump备份容灾脚本
Mysql资料 xtrabackup
Mysql资料 mysqldump
数据恢复binlog2sql
数据备份类型简介
Mysql资料 Binlog
Mysql安全检查
Mysql配置文件
shell脚本 比较mysql配置文件
Mysql脚本 优化检测
Mysql配置文件 16c64g优化
Mysql配置文件 4c8g优化
Mysql配置文件 innodb引擎
Mysql配置文件 binlog和慢日志
Mysql配置文件 扩展详细配置
Mysql配置文件 基本设置
Mysql配置文件 客户端
show_slave_status参数详解
Mysql_SQL语句
Mysql状态信息查询
用户和密码管理操作
表和字段管理操作
库管理操作
基本操作
Mysql集群
Innodb Cluster集群部署配置
什么是mysql innodb cluster?
主从复制参数详解
Mysql配置 主主同步
Mysql配置 主从同步
Mysql新闻
Mysql使用案例
shell脚本 安全删除MySQL大表
shell脚本 检查mysql节点数据一致性
shell脚本 批量查看mysql表条目数
Mysql报错合集
Mysql一致性效验_pt工具
mysqlslap基准测试
Mysql实例 数据库优化
Mysql解决主从慢同步问题
Mysql实例 表设计
Mysql脚本 生成测试数据
本文档使用 MrDoc 发布
-
+
home page
shell脚本 mysql-binlog分析
## 一.简介 介绍 分析binlog工具,现有功能: 1. 基于业务表分析统计各个表的dml的次数。 2. 各个业务表的最后访问时间。 3. 各dml总的次数。 4. 该binlog的事务总数。 5. 基于业务表的binlog to sql。 6. 其他功能敬请期待。 ## 二.使用 适用:centos6+ 语言:中文 注意:请先写一个脚本来启动java等程序 1.下载 `git clone https://gitee.com/mo-shan/analysis_binlog` `cd analysis_binlog` 2.更改路径,将这里的mysqlbinlog_path改成mysqlbinlog工具的绝对路径,否则可能会因版本太低导致错误 `sed -i 's#^mysqlbinlog=.*#mysqlbinlog=\"/mysqlbinlog_path\"#g' bin/analysis_binlog` 将这里的analysis_binlog_path改成analysis_binlog的家目录的绝对路径 `sed -i 's#^work_dir=.*#work_dir=\"/analysis_binlog_path\"#g' bin/analysis_binlog` 为analysis_binlog配置环境变量(选做) `chmod +x bin/analysis_binlog` `echo "export PATH=$(pwd)/bin:${PATH}" >> ${HOME}/.bashrc` 3.查看帮助 `bash analysis_binlog -h` ### 使用测试-1 1.统计业务表的dml情况 根据需求执行 - -bfile: 指定binlog文件, 支持多个文件并行分析, 多个文件用逗号相隔, 需要并行分析时请结合-w参数使用 - -w : 指定并行数, 当需要分析多个binlog文件时该参数有效, 默认是1 - -t : 指定显示结果的格式/内容, 供选选项有”detail|simple”. 当指定detail的时候结果较为详细, 会打印详细的分析过程, 消耗时间也不直观, simple只做了统计工作 - -s : 指定排序规则, 供选选项有”insert|update|delete”. 默认会把统计结果做一个排序, 按照表的维度统计出insert update delete的次数, 并按照次数大小排序(默认insert) 注: 其他参数使用请参见帮助手册 bash analysis_binlog -h 2.配置了环境变量使用 `analysis_binlog -bfile=/data/mysql/binlog/3306/mysql-bin.000798,/data/mysql/binlog/3306/mysql-bin.000799 -w=2 -t=simple -s=update` 未配置环境变量使用 `bash bin/analysis_binlog -bfile=/data/mysql/binlog/3306/mysql-bin.000798,/data/mysql/binlog/3306/mysql-bin.000799 -w=2 -t=simple -s=update` 3.结果查询 分析完毕会在analysis_binlog家目录下的res目录下保存一个[binlog_file_name.res]文件,使用文本工具打开即可, 建议使用cat, tail, more, 如下结果展示, 会按照表的维度做个统计, 然后按照update的次数排序, Last Time表示该表的最后一次操作 `cat mysql-bin.000798.res` ### 使用测试-2 1.binlog to sql 根据需求执行 - —binlog2sql : 表示将binlog分析成sql。 - -sw : 表示将结果按照业务表的维度保存,如果是file则将所有分析结果都保存在一个文件。 - —start-datetime : 开始时间。具体使用请参照mysqlbinlog工具的—start-datetime参数的使用 - —stop-datetime : 结束时间。具体使用,请参照mysqlbinlog工具的—stop-datetime参数的使用 - —start-position : 开始的pos值。具体使用,请参照mysqlbinlog工具的—start-position参数的使用 - —stop-position : 结束的pos值。具体使用,请参照mysqlbinlog工具的—stop-position参数的使用 注: 其他参数使用请参见帮助手册 bash analysis_binlog -h 2.执行 `bash bin/analysis_binlog -bfile=/data/mysql/binlog/3306/mysql-bin.000808 --binlog2sql -sw=table --start-datetime="2019-04-21 9:27:10" --stop-datetime="2019-04-22 10:00:00" --start-postion=1510151 --stop-position=1512137` 3.结果查询 分析完毕会在analysis_binlog家目录下的res目录下保存一个[binlog_file_name_to_sql.res]文件,使用文本工具打开即可, 如果【—save-way=table】,则会在res目录下创建【table】目录,该目录下会出现binlog_file_db.table.res的文件,这些文件就是保存了这个该binlog分析出来的sql语句, 如下结果展示 `cat res/mysql-bin.000808_to_sql.res |more` ### 提示 v_1.1版本引入新参数—record-type or -rt 该参数表示以什么方式统计,可选的方式是两种,一是统计sql的个数,二统计事务的个数,默认是统计sql的个数。 如:某表有十行记录,现在执行delete from t; 如果binlog是row格式,这时候记录到binlog会是十个delete语句,但是是一个事务。这时候这个参数就起作用了。用户可以按照需求并参考使用手册使用该参数。但是需要注意的是如果一个事务里面存在多种dml,比如begin;insert into t select 1;update t2 set c=c+1;commit;对于这样的事务,会将该事务记到t2的update操作,不会记录到t的insert操作。
日行一善
Nov. 26, 2020, 9:08 a.m.
Share documents
Collection documents
Last
Next
Scan wechat
Copy link
Scan your mobile phone to share
Copy link
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
QQ粉丝交流群:882382311
Markdown文件
share
link
type
password
Update password