zoukankan      html  css  js  c++  java
  • 使用mysqlbinlog从二进制日志文件中查询mysql执行过的sql语句 (原)

    前提
    MySQL开启了binlog日志
    操作
    1. 查看MySQL是否开启binlog(进mysql操作)
      mysql> show variables like 'log_bin%';
          

    2. 查询binlog文件名
            mysql>show master status(进mysql操作)
           
    3. 查mysqlbinlog工具的位置(mysql自带,用来查看二进制日志)(系统目录查看,不进mysql)
           (MySQL二进制文件直接打开是看不懂的,需要用这个自带的查看工具查看)
            [root@iZ25f7emo7cZ /]#  find / -name mysqlbinlog
      
    4. 查找mysql-bin.000007文件位置(系统目录查看)
          find / mysql-bin.000007

         
    5. 将mysql日志内容输入某个文件中.(-v显示sql语句)
         先进入mysqlbinlog操作目录下,进入上面所述第三步文件目录

        

      将目标文件拷贝出来用sublime,editplus等工具,搜索相关的sql即可
               [root@iZ25f7emo7cZ bin]# ./mysqlbinlog ./usr/local/mysql/data/mysql-bin.000007 -v /a.txt
              

        或者
              [root@iZ25f7emo7cZ bin]# ./mysqlbinlog ./usr/local/mysql/data/mysql-bin.000007 -v --result-file=/usr/local/a.txt
    --------------------------------------------------------------------------END-------------------------------------------------------------------------------

    文末附上几个可能用得上的查询日志的条件命令示例

    1、查询时间段内日志的执行内容

    mysqlbinlog --start-datetime='2018-01-08 02:01:00' --stop-datetime='2018-01-08 02:30:10' -d test /var/lib/mysql/mysql-bin.000170 -v

    2、查询时间段内日志中执行的删除语句

    mysqlbinlog --start-datetime='2018-01-08 02:01:00' --stop-datetime='2018-01-08 02:30:10' -d test /var/lib/mysql/mysql-bin.000170 -v|grep DELETE -A 5

    3、统计时间段内日志中执行的删除语句

    mysqlbinlog --start-datetime='2018-01-08 02:01:00' --stop-datetime='2018-01-08 02:30:10' -d test /var/lib/mysql/mysql-bin.000170 -v|grep DELETE |wc -l

  • 相关阅读:
    CH1301 邻值查找【set应用】
    poj1185 炮兵阵地【状压DP】
    codeforces#516 Div2---ABCD
    2017ACM-ICPC沈阳区域赛
    poj2411 Mondriaan's Dream【状压DP】
    hdu2196 Computer【树形DP】【换根法】
    poj3345 Bribing FIPA【树形DP】【背包】
    poj1463 Strategic game【树形DP】
    poj1191 棋盘分割【区间DP】【记忆化搜索】
    CH5E09 能量相连【区间DP】
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/9983501.html
Copyright © 2011-2022 走看看