使用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

转载于:https://www.cnblogs.com/gyrgyr/p/9983501.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值