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

  • 相关阅读:
    删除重复行的DataFrame
    http各个版本(1/1.1/2)对比
    merge()、. join()和concat()合并Pandas中的数据
    openssl windows 平台编译x86 x64
    openssl windows 平台使用 VS2017 编译openssl源码
    openssl des CBC
    openssl des ECB
    ffmpeg des
    网狐棋牌游戏用户数据库 开发文档
    cmake 附加库目录 附加包含头文件目录 链接库 镜像不安全 宏定义 一个完整的cmake小项目
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/9983501.html
Copyright © 2020-2023  润新知