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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM