mysqlbinlog命令詳解 Part 5 通過位置和時間檢視日誌

ibsbforever發表於2019-07-16

實驗環境

此次實驗的環境如下

  • MySQL 5.7.25

  • Redhat 6.10

  • binlog模式採用row模式

前面的一些章節我們對mysqldump常用命令進行了講解

這個專題的內容為mysqlbinlog命令的詳解

mysqlbinlog是MySQL中用來處理binlog的工具

這節內容講如何根據條件來檢視特定的位置

1. 根據事件起始位置

1.1 如何檢視位置

日誌中檢視

每個事件從#at position1開始至下一個# at position2結束

postion為具體的數字

1_2.png

如上圖所示

INSERT事件的開始位置為1015,結束位置為1064 ,其實end_log_pos也是結束位置

檢視當前日誌位置

SQL>show master status;

2.png

上圖代表當前日誌記錄到000001號日誌檔案的715號位置,即下個事件的起始位置為715

1.2 應用舉例

下面根據上圖檢視INSERT事件

如不指定stop-position 則會一直到最後

shell> mysqlbinlog  -v --start-position=780 --stop-position=1064  /path/to/log/master-bin.000001

3.png

注意,這裡會強制在開始顯示格式描述事件,之後才跳到780

這裡我們從780位置開始,即整個插入的開始階段

如果直接從1015開始會報錯,找不到表,即沒有對映表的事件

4.png

2. 根據事件執行時間

2.1 如何檢視執行時間

在 # at position的下一行有時間顯示

# at 1015
#190416 14:20:44

2.2  應用舉例

如下例子顯示了2019-04-16 14:10:56 至2019-04-16 14:12:56 發生的時間

如不指定stop-datetime則表示一直到現在

注意=後不能有空格

mysqlbinlog -v  --start-datetime="2019-04-16 14:10:56"  --stop-datetime ="2019-04-16 14:12:56" /path/to/log/master-bin.000001

5.png

3. 參考連結

https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html

好了 今天的內容就說到這裡,下節再見


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28413242/viewspace-2650693/,如需轉載,請註明出處,否則將追究法律責任。

相關文章