1. binlog 日志格式:
  2.  
  3. use `zjzc`/*!*/;
  4. SET TIMESTAMP=1476326343/*!*/;
  5. UPDATE `ProductAccess` pa SET pa.accessType =1 WHERE pa.productSn IN(
  6.  
  7. SET TIMESTAMP=1476326807/*!*/;
  8. update ClientActionTrack set
  9.  
  10. SET TIMESTAMP=1476327571/*!*/;
  11. UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
  12.  
  13. [root@zjzc01 binlog]# cat binlog.pl
  14. if ( $#ARGV < 2 ){
  15. print "please input file update|insert table_namee!\n";
  16. exit(-1);
  17.  
  18. };
  19. my $a=$ARGV[0];
  20. my $b=$ARGV[1];
  21. my $c=$ARGV[2];
  22. local $/='/*!*/;';
  23. open (A,"<","$a");
  24. while (<A>){
  25. if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) ){
  26. print $_;
  27. };
  28. };
  29.  
  30. [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan
  31. [root@zjzc01 binlog]#
  32. [root@zjzc01 binlog]#
  33.  
  34. /*!*/;[root@zjzc01 binlog]# cat binlog.pl
  35. if ( $#ARGV < 2 ){
  36. print "please input file update|insert table_namee!\n";
  37. exit(-1);
  38.  
  39. };
  40. my $a=$ARGV[0];
  41. my $b=$ARGV[1];
  42. my $c=$ARGV[2];
  43. local $/='/*!*/;';
  44. open (A,"<","$a");
  45. while (<A>){
  46. if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) or ($_ =~/$b\s+`zjzc`.`$c`/i) ){
  47. print $_;
  48. };
  49. };
  50.  
  51. [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan
  52.  
  53. UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
  54.  
  55. [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan
  56.  
  57. UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
  58. /*!*/;
  59. UPDATE `scan` SET `sn`='300' WHERE `sn`='200'
  60.  
  61. [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan
  62.  
  63. UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
  64. /*!*/;
  65. UPDATE `scan` SET `sn`='300' WHERE `sn`='200'
  66. /*!*/;
  67. UPDATE scan SET `sn`='400' WHERE `sn`='300'
  68.  
  69. /*!*/;[root@zjzc01 binlog]# cat binlog.pl
  70. if ( $#ARGV < 2 ){
  71. print "please input file update|insert table_namee!\n";
  72. exit(-1);
  73.  
  74. };
  75. my $a=$ARGV[0];
  76. my $b=$ARGV[1];
  77. my $c=$ARGV[2];
  78. local $/='/*!*/;';
  79. open (A,"<","$a");
  80. while (<A>){
  81. if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) or ($_ =~/$b\s+`zjzc`.`$c`/i) or ($_ =~/$b\s+zjzc.$c/i )){
  82. print $_;
  83. };
  84. };
  85.  
  86. [root@zjzc01 binlog]# perl binlog.pl aa UPDATE scan
  87.  
  88. UPDATE `zjzc`.`scan` SET `sn`='200' WHERE `sn`='100'
  89. /*!*/;
  90. UPDATE `scan` SET `sn`='300' WHERE `sn`='200'
  91. /*!*/;
  92. UPDATE scan SET `sn`='400' WHERE `sn`='300'
  93. /*!*/;
  94. UPDATE zjzc.scan SET `sn`='500' WHERE `sn`='400'
  95.  
  96. /*!*/;[root@zjzc01 binlog]# cat binlog.pl
  97. if ( $#ARGV < 2 ){
  98. print "please input file update|insert table_namee!\n";
  99. exit(-1);
  100.  
  101. };
  102. my $a=$ARGV[0];
  103. my $b=$ARGV[1];
  104. my $c=$ARGV[2];
  105. local $/='/*!*/;';
  106. open (A,"<","$a");
  107. while (<A>){
  108. if (( $_ =~/$b\s+$c/i ) or ($_ =~/$b\s+`$c`/i) or ($_ =~/$b\s+`zjzc`.`$c`/i) or ($_ =~/$b\s+zjzc.$c/i )){
  109. print $_;
  110. };
  111. };

perl 分析mysql binlog的更多相关文章

  1. 使用python 模仿mybinlog 命令 二进制分析mysql binlog

    出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该声明. ...

  2. python写的分析mysql binlog日志工具

    因为数据库增删改突然暴增,需要查询是那些表的操作特别频繁,写了一个用来分析bin-log的小工具,找出增删改查的表,并按照操作次数降序排列,以下是代码: 1 2 3 4 5 6 7 8 9 10 11 ...

  3. 腾讯工程师带你深入解析 MySQL binlog

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 腾讯云数据库内核团队 发布在云+社区 1.概述 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的red ...

  4. Mysql Binlog 三种格式介绍及分析

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

  5. 基于binlog来分析mysql的行记录修改情况(python脚本分析)

          最近写完mysql flashback,突然发现还有有这种使用场景:有些情况下,可能会统计在某个时间段内,MySQL修改了多少数据量?发生了多少事务?主要是哪些表格发生变动?变动的数量是怎 ...

  6. Mysql Binlog三种格式介绍及分析【转】

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

  7. MySQL Binlog三种格式介绍及分析

    Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在binlog中. 优点:不需要记录每一行的变化,减 ...

  8. MySQL Binlog Mixed模式记录成Row格式

    背景: 一个简单的主从结构,主的binlog format是Mixed模式,在执行一条简单的导入语句时,通过mysqlbinlog导出发现记录的Binlog全部变成了Row的格式(明明设置的是Mixe ...

  9. Mysql Binlog日志详解

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

随机推荐

  1. Windows下Postgre SQL数据库通过Slony-I 实现数据库双机同步备份

    一. 我们要实现的环境是windows xp.windows2003上安装Postgre SQL数据库,实现目的是两台数据库服务器进行数据库同步,即数据库同步更新.删除.插入等对数据库的操作. 二. ...

  2. linux和windows同步数据 cwrsync client to rsync server

    linux和windows同步数据,rsync server  cwrsync client linux server一般系统都自带rsync,如果没有就挂载系统盘自己安装一下,安装挺简单的不用我再多 ...

  3. 给iOS开发者的GCD用户手册

    Grand Central Dispatch,或者GCD,是一个极其强大的工具.它给你一些底层的组件,像队列和信号量,让你可以通过一些有趣的方式来获得有用的多线程效果.可惜的是,这个基于C的API是一 ...

  4. Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例

    1.练习:用集合存储5个学生对象,并把学生对象进行遍历. 分析: (1)创建学生类(2)创建集合对象(3)创建学生对象(4)把学生添加到集合(5)把集合转成数组(6)遍历数组 2. 代码示例: Stu ...

  5. yii phpexcel <转>

    原文详情参见 这里 1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php ...

  6. POJ 2653 Pick-up sticks (判断线段相交)

    Pick-up sticks Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 10330   Accepted: 3833 D ...

  7. (转)dedecms [field:array runphp='yes']标签使用技巧

    field支持用array获取任意字段的值:(支持标记:文章内容模板的 {dede:field name=’array’ /}.arclist.arclistsg.loop.sql 标签) 我们平时常 ...

  8. myeclipse 'no default proposals' when use 'alt + /'.

    solution: Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced in th ...

  9. UIImageView添加边框和阴影

    - (void)viewDidLoad { [super viewDidLoad]; //添加显示 UIImage *image = [UIImage imageNamed:@"0_wang ...

  10. ASP.NET菜鸟之路之Response小例子

    背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Response.Write Redirect ...