Lam's blog

知之爲知之,不知爲不知


  • 首頁

  • 歸檔

  • 關於我

  • 搜索

Mysql查看Binlog日誌數據

時間: 2021-03-15 | 字數: 663 字 | 閱讀: 2分鐘 | 閱讀次數:

什麽是Binlog

binlog是Mysql sever層維護的一種二進製日誌,主要是用來記錄對mysql數據更新或潛在發生更新的SQL語句,並以"事務"的形式保存在磁盤中;

作用:

  1. 復製:MySQL Replication在Master端開啟binlog,Master把它的二進製日誌傳遞給slaves並回放來達到master-slave數據一致的目的
  2. 數據恢復:通過mysqlbinlog工具恢復數據
  3. 增量備份

操作Binlog

開啟

my.cnf => [mysqld]塊 => 添加 log-bin=mysql-bin

查看狀態

mysql> show variables like 'log_%'; 
+----------------------------------------+---------------------------------------+
| Variable_name                          | Value                                 |
+----------------------------------------+---------------------------------------+
| log_bin                                | ON                                    | ------> ON表示已經開啟binlog日誌
| log_bin_basename                       | /usr/local/mysql/data/mysql-bin       |
| log_bin_index                          | /usr/local/mysql/data/mysql-bin.index |
| log_bin_trust_function_creators        | OFF                                   |
| log_bin_use_v1_row_events              | OFF                                   |
| log_error                              | /usr/local/mysql/data/martin.err      |
| log_output                             | FILE                                  |
| log_queries_not_using_indexes          | OFF                                   |
| log_slave_updates                      | OFF                                   |
| log_slow_admin_statements              | OFF                                   |
| log_slow_slave_statements              | OFF                                   |
| log_throttle_queries_not_using_indexes | 0                                     |
| log_warnings                           | 1                                     |
+----------------------------------------+---------------------------------------+

查看內容

默認情況下binlog日誌是二進製格式,無法直接查看。有以下兩種方式查看:

1. mysql查看binlog

mysql> show binlog events;   #只查看第一個binlog文件的內容
mysql> show binlog events in 'mysql-bin.000002';#查看指定binlog文件的內容
mysql> show binary logs;  #獲取binlog文件列表
mysql> show master status; #查看當前正在寫入的binlog文件

2. 使用mysqlbinlog工具

  • 基於開始/結束時間
mysqlbinlog --start-datetime='2013-09-10 00:00:00' --stop-datetime='2013-09-10 01:01:01' -d {database} {binlog-file}
  • 基於pos值
mysqlbinlog --start-postion=107 --stop-position=1000 -d {database} {binlog-file}
  • 轉換為可讀文本
mysqlbinlog –base64-output=DECODE-ROWS -v -d {database} {binlog-file}
#MySQL#

聲明:Mysql查看Binlog日誌數據

鏈接:https://www.lamsir.cc/post/mysql-view-binlog/

作者:Lam Sir

聲明: 本博客文章除特別聲明外,均采用 CC BY-NC-SA 3.0許可協議,轉載請註明出處!

創作實屬不易,如有幫助,那就打賞博主些許茶錢吧 ^_^
ETH Pay

ERC20-USDT

本地開發環境啟動HTTPS
MySQL最佳實踐10點建議
Lam Sir

Lam Sir

Live your life...

30 日誌
5 分類
11 標簽
標簽雲
  • Python
  • Php
  • Javascript
  • Mysql
  • Video
  • Wordpress
  • API
  • Laravel
  • MAC
  • Node.Js
© 2020 - 2022 Lam's blog
0%