Skip to content

读取数据库日志 分析文件 输出分析结果

Notifications You must be signed in to change notification settings

baopbird2005/queryanalyse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

queryanalyse

从MySQL binlog解析出数据变化的原始SQL。根据不同选项,你可以获取分析之后的数据,帮助定位数据修改的时间和变化值。

用途

  • 无需连接日志的数据库,仅仅下载日志文件就能够初级分析。
  • 根据不同的数据库名称和数据表名字来分析剥离你所需要的数据。
  • 从binlog解析出可读的数据,帮助定位,定点分析数据。

项目状态

正常维护。 需要本机或者服务器安装MYSQL。

  • 已测试环境
    • Python 2.7, 3.4+
    • MySQL 5.6, 5.7

使用

基本用法

解析出标准SQL

shell> python queryanalyse.py -td=数据库名字 -tt=数据表名字  -path=下载日志文件目录 -f=分析日志名称 -of=输出文件名

shell> python queryanalyse.py -td=bd -tt=table  -path=/mysqllog/ -f=mysql-bin.000268 -of=268.txt 

输出:
	*******************************************

	************  初始化数据  *****************

	******  开始处理binlog日志信息  ***********

	********  开始分析并输出文件  **************

	***********  清理无用文件  ****************

	***********  数据分析完成  ****************

	*******************************************


	******************************************************************************

	**** 总条数为 18070

	**** 输出路径 /mysqllog/268.txt

	******************************************************************************

日志文件结果:
	start time:2018-08-02 10:28:08
	Database.Table: db.table
	### INSERT INTO `db`.`table`
	### SET
	###   @1=278493
	###   @2=10448
	###   @3=10449

选项

对象过滤

usage: python [script's path] [option]
ALL options need to assign:
-path : 读取日志文件和写入日志文件的路径 必须有
-f : 读取文件的名字  binlog 日志文件  必须有
-of : 写入文件 满足条件分析后的数据  如果没有默认名字 读取文件名.log
-td : 数据库的名称
-tt : 表的名称

优点(对比mysqlbinlog)

  • 纯Python开发,安装与使用都很简单
  • 代码容易改造,可以支持更多个性化解析

联系我

欢迎提问题提需求,欢迎pull requests!

About

读取数据库日志 分析文件 输出分析结果

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages