perl 分析mysql binlog
生活随笔
收集整理的這篇文章主要介紹了
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 setSET 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 scanUPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'[root@zjzc01 binlog]# perl binlog.pl aa UPDATE scanUPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
/*!*/;
UPDATE `scan` SET `sn`='300' WHERE `sn`='200'[root@zjzc01 binlog]# perl binlog.pl aa UPDATE scanUPDATE `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 scanUPDATE `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 $_;};};
轉載于:https://www.cnblogs.com/zhaoyangjian724/p/6199125.html
總結
以上是生活随笔為你收集整理的perl 分析mysql binlog的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: query判断值是否为空,针对前台提交数
- 下一篇: Java之Object类与instanc