• 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!
    ";  
            exit(-1);  
    
                   }; 
    my $a=$ARGV[0];
    my $b=$ARGV[1];
    my $c=$ARGV[2];
    local $/='/*!*/;';
    open (A,"<","$a");
         while (<A>){
          if  (( $_ =~/$bs+$c/i ) or ($_ =~/$bs+`$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!
    ";  
            exit(-1);  
    
                   }; 
    my $a=$ARGV[0];
    my $b=$ARGV[1];
    my $c=$ARGV[2];
    local $/='/*!*/;';
    open (A,"<","$a");
         while (<A>){
          if  (( $_ =~/$bs+$c/i ) or ($_ =~/$bs+`$c`/i) or ($_ =~/$bs+`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!
    ";  
            exit(-1);  
    
                   }; 
    my $a=$ARGV[0];
    my $b=$ARGV[1];
    my $c=$ARGV[2];
    local $/='/*!*/;';
    open (A,"<","$a");
         while (<A>){
          if  (( $_ =~/$bs+$c/i ) or ($_ =~/$bs+`$c`/i) or ($_ =~/$bs+`zjzc`.`$c`/i) or ($_ =~/$bs+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!
    ";  
            exit(-1);  
    
                   }; 
    my $a=$ARGV[0];
    my $b=$ARGV[1];
    my $c=$ARGV[2];
    local $/='/*!*/;';
    open (A,"<","$a");
         while (<A>){
          if  (( $_ =~/$bs+$c/i ) or ($_ =~/$bs+`$c`/i) or ($_ =~/$bs+`zjzc`.`$c`/i) or ($_ =~/$bs+zjzc.$c/i )){
          print $_;
            };
          };

  • 相关阅读:
    python入门基础
    iOS开发应用学习笔记
    ios开发之NavBar和TarBar使用技巧
    iOS开发中常用第三方库的使用和配置-GDataXML
    iOS开发中常用第三方库的使用和配置-GDataXML
    ios程序发布测试打包
    iOS的动画效果类型及实现方法
    iOS定位服务编程详解
    键盘样式风格有关设置-iOS开发
    如何在ios 系统 中抓包??
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350177.html
Copyright © 2020-2023  润新知