程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql Binlog疾速遍歷搜刮記載及binlog數據檢查的辦法

Mysql Binlog疾速遍歷搜刮記載及binlog數據檢查的辦法

編輯:MySQL綜合教程

Mysql Binlog疾速遍歷搜刮記載及binlog數據檢查的辦法。本站提示廣大學習愛好者:(Mysql Binlog疾速遍歷搜刮記載及binlog數據檢查的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql Binlog疾速遍歷搜刮記載及binlog數據檢查的辦法正文


目的,開辟人員說有個數據莫明其妙添加了,然則不曉得是從哪裡添加的,並且運用功效外面不該該添加如許的數據,為了查清晰起源,所以我就預備去binlog外面找了,然則binlog有好幾個月的數,我如許一個個mysqlbinlog下去,也不是方法,所以想到預備用劇本輪回來操作。

1,去binlog目次復制一切的binlog莅臨時目次/tmp/bl/

cp /home/data/mysql/binlog/mysql-bin.* /tmp/bl

2,寫劇本遍歷

[root@wgq_idc_dbm_3_61 tmp]# vim find_guolichao.sh 
#!/bin/bash
進入暫時目次
cd /tmp/bl
# 開端輪回遍歷目次
for path in `ls . |grep mysql-bin.0`
do
#記載一些基本信息,好比以後遍歷的mysqlbinlog日記
echo "" >> z_grep.log
echo "begin ..."
echo $path >> z_grep.log
# 須要搜刮出AD_ADVERTISEMENT表的AD_LINK字段的值為ad_init_user的記載,記載到總日記z_grep.log
/usr/local/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v |grep AD_ADVERTISEMENT |grep AD_LINK |grep ad_init_user >> z_grep.log
#記載搜刮成果到零丁的日記外面,零丁是由於假如下面次數太多的話,一條條去看也不曉得能否搜刮到,先看z_grep_single.log假如有記載,再去z_grep.log外面檢索下在哪一個mysqlbinlog外面便可以了。
/usr/local/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v |grep AD_ADVERTISEMENT |grep AD_LINK |grep ad_init_user >> z_grep_single.log
echo "end." >>z_grep.log
done

3,履行搜刮劇本,檢查成果

[root@wgq_idc_dbm_3_61 tmp]# bash -x find_guolichao.sh 
[root@wgq_idc_dbm_3_61 tmp]# ll ./bl/z_grep*
-rw-r--r--. 1 root root 33534 1月 27 15:59 ./bl/z_grep.log
-rw-r--r--. 1 root root 0 1月 27 15:59 ./bl/z_grep_single.log
[root@wgq_idc_dbm_3_61 tmp]# 

看./bl/z_grep_single.log年夜小為0,明顯,在以後的2個月binlog日記外面,沒有記載到這個值。應當是2個月之前錄入的數據,如許只能去汗青備份記載的備份記載去查找了

MySQL的binlog數據若何檢查

binlog引見

binlog,即二進制日記,它記載了數據庫上的一切轉變.

轉變數據庫的SQL語句履行停止時,將在binlog的末尾寫入一筆記錄,同時告訴語句解析器,語句履行終了.

binlog格局

基於語句,沒法包管一切語句都在從庫履行勝利,好比update ... limit 1;

基於行,將每次修改記為binlog中的一行.在履行一個特殊龐雜的update或許delete操作時,基於行的格局會有優勢.

登錄到mysql檢查binlog

只檢查第一個binlog文件的內容

show binlog events;

檢查指定binlog文件的內容

show binlog events in 'mysql-bin.000002';

檢查以後正在寫入的binlog文件

show master status\G

獲得binlog文件列表

show binary logs;

用mysqlbinlog對象檢查

留意:

不要檢查以後正在寫入的binlog文件

不要加--force參數強迫拜訪

假如binlog格局是行形式的,請加 -vv參數

當地檢查

基於開端/停止時光

mysqlbinlog --start-datetime='2013-09-10 00:00:00' --stop-datetime='2013-09-10 01:01:01' -d 庫名 二進制文件

基於pos值

mysqlbinlog --start-postion=107 --stop-position=1000 -d 庫名 二進制文件

長途檢查

指定開端/停止時光,並把成果重定向到當地t.binlog文件中.

mysqlbinlog -u username -p password -hl-db1.dba.beta.cn6.qunar.com -P3306 \
--read-from-remote-server --start-datetime='2013-09-10 23:00:00' --stop-datetime='2013-09-10 23:30:00' mysql-bin.000001 > t.binlog
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved