perl 分析mysql binlog
binlog 日志格式: use `zjzc`/*!*/;
SET TIMESTAMP=1476326343/*!*/;
UPDATE `ProductAccess` pa SET pa.accessType =1 WHERE pa.productSn IN( SET TIMESTAMP=1476326807/*!*/;
update ClientActionTrack set SET TIMESTAMP=1476327571/*!*/;
UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100' [root@zjzc01 binlog]# cat binlog.pl
if ( $#ARGV < 2 ){
print "please input file update|insert table_namee!\n";
exit(-1); };
my $a=$ARGV[0];
my $b=$ARGV[1];
my $c=$ARGV[2];
local $/='/*!*/;';
open (A,"<","$a");
while (<A>){
if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) ){
print $_;
};
}; [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan
[root@zjzc01 binlog]#
[root@zjzc01 binlog]# /*!*/;[root@zjzc01 binlog]# cat binlog.pl
if ( $#ARGV < 2 ){
print "please input file update|insert table_namee!\n";
exit(-1); };
my $a=$ARGV[0];
my $b=$ARGV[1];
my $c=$ARGV[2];
local $/='/*!*/;';
open (A,"<","$a");
while (<A>){
if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) or ($_ =~/$b\s+`zjzc`.`$c`/i) ){
print $_;
};
}; [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100' [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
/*!*/;
UPDATE `scan` SET `sn`='300' WHERE `sn`='200' [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
/*!*/;
UPDATE `scan` SET `sn`='300' WHERE `sn`='200'
/*!*/;
UPDATE scan SET `sn`='400' WHERE `sn`='300' /*!*/;[root@zjzc01 binlog]# cat binlog.pl
if ( $#ARGV < 2 ){
print "please input file update|insert table_namee!\n";
exit(-1); };
my $a=$ARGV[0];
my $b=$ARGV[1];
my $c=$ARGV[2];
local $/='/*!*/;';
open (A,"<","$a");
while (<A>){
if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) or ($_ =~/$b\s+`zjzc`.`$c`/i) or ($_ =~/$b\s+zjzc.$c/i )){
print $_;
};
}; [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
/*!*/;
UPDATE `scan` SET `sn`='300' WHERE `sn`='200'
/*!*/;
UPDATE scan SET `sn`='400' WHERE `sn`='300'
/*!*/;
UPDATE zjzc.scan SET `sn`='500' WHERE `sn`='400' /*!*/;[root@zjzc01 binlog]# cat binlog.pl
if ( $#ARGV < 2 ){
print "please input file update|insert table_namee!\n";
exit(-1); };
my $a=$ARGV[0];
my $b=$ARGV[1];
my $c=$ARGV[2];
local $/='/*!*/;';
open (A,"<","$a");
while (<A>){
if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) or ($_ =~/$b\s+`zjzc`.`$c`/i) or ($_ =~/$b\s+zjzc.$c/i )){
print $_;
};
};
perl 分析mysql binlog的更多相关文章
- 使用python 模仿mybinlog 命令 二进制分析mysql binlog
出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该声明. ...
- python写的分析mysql binlog日志工具
因为数据库增删改突然暴增,需要查询是那些表的操作特别频繁,写了一个用来分析bin-log的小工具,找出增删改查的表,并按照操作次数降序排列,以下是代码: 1 2 3 4 5 6 7 8 9 10 11 ...
- 腾讯工程师带你深入解析 MySQL binlog
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 腾讯云数据库内核团队 发布在云+社区 1.概述 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的red ...
- Mysql Binlog 三种格式介绍及分析
一.Mysql Binlog格式介绍 Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...
- 基于binlog来分析mysql的行记录修改情况(python脚本分析)
最近写完mysql flashback,突然发现还有有这种使用场景:有些情况下,可能会统计在某个时间段内,MySQL修改了多少数据量?发生了多少事务?主要是哪些表格发生变动?变动的数量是怎 ...
- Mysql Binlog三种格式介绍及分析【转】
一.Mysql Binlog格式介绍 Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...
- MySQL Binlog三种格式介绍及分析
Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在binlog中. 优点:不需要记录每一行的变化,减 ...
- MySQL Binlog Mixed模式记录成Row格式
背景: 一个简单的主从结构,主的binlog format是Mixed模式,在执行一条简单的导入语句时,通过mysqlbinlog导出发现记录的Binlog全部变成了Row的格式(明明设置的是Mixe ...
- Mysql Binlog日志详解
一.Mysql Binlog格式介绍 Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...
随机推荐
- Android自定义Toast宽度无法设置问题解决
在项目中想要实现一个头部的toast提示效果,类似下图 再实现的过程中发现,如果直接通过修改Toast的View布局的父控件宽度是无法实现效果的,后来是通过直接用代码指定父控件内部的textview ...
- Solaris下怎样改动文件创建时间及查询
Solaris下怎样改动文件创建时间及查询 实验演示: 1.核对时间 [root@S1011:/]# date Tue Jul 15 21:37:01 CDT 2014 --若时间不对请先按例如以下格 ...
- uva 116 Unidirectional TSP (DP)
uva 116 Unidirectional TSP Background Problems that require minimum paths through some domain appear ...
- spring注入成员对象
就是将对象注入到另外一个对象中.这个样例就是有一个学校类,学校类中有一个校长类,最后使用測试文件输出学校类中的信息. 代码结构 学校类 package com.test.SpringGetSet; p ...
- Linux CPU数量判断,通过/proc/cpuinfo.
Linux CPU数量判断,通过/proc/cpuinfo. 相同 physical id :决定一个物理处理器 如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未 ...
- sed 批量替换多个文件里的某个字符/串
提示: 国际惯例使用前先备份 sed -i "s/a/b/g" `grep 'a' -rl ./`
- Android-adb相关
最近做android开发遇到无法通过usb链接设备的情况,通过wifi连接设备调试也颇为方便 1.android 要root , 下载终端app 比如 BetterTerminal 2.通过以下命令 ...
- 困扰:C#.net 连接Oracle11g 不报错但是在connection时出现 ServerVersion 引发了“System.InvalidOperationException”类型的异常
今天在使用VS2008 32位 连接 64位的Oracle11g的数据库时出现 “conn.ServerVersion”引发了“System.InvalidOperationException”类型的 ...
- Swift - 25 - 控制转移和二维数组
//: Playground - noun: a place where people can play import UIKit // fallthrough // fallthrough会在当前c ...
- Fractal_Test
本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/Fractal_Test.html 参考:http://catlikecoding ...