1. 程式人生 > >java 解析mysql 的binlog 日誌檔案

java 解析mysql 的binlog 日誌檔案

Maven 配置

<dependency>
    <groupId>com.github.shyiko</groupId>
    <artifactId>mysql-binlog-connector-java</artifactId>
    <version>0.13.0</version>
</dependency>

Java檔案

import com.github.shyiko.mysql.binlog.BinaryLogFileReader;
import com.github.shyiko
.mysql.binlog.event.Event; import com.github.shyiko.mysql.binlog.event.deserialization.ChecksumType; import com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer; import java.io.File; import java.io.IOException; class Sample { public static void main(String[] args) throws IOException { String filePath="D:\\DATA\\mysql-bin.000987"
; File binlogFile = new File(filePath); EventDeserializer eventDeserializer = new EventDeserializer(); eventDeserializer.setChecksumType(ChecksumType.CRC32); BinaryLogFileReader reader = new BinaryLogFileReader(binlogFile, eventDeserializer); try { for (Event event; (event = reader.readEvent()) != null; ) {
System.out.println(event.toString()); } } finally { reader.close(); } } }

相關推薦

java 解析mysqlbinlog 日誌檔案

Maven 配置 <dependency> <groupId>com.github.shyiko</groupId> <artifactId>mysql-binlog-connector-

mysql binlog日誌的三種模式

base 新版 產生 日誌模式 出現 行數據 原本 兩種模式 可能 1、statement level模式 每一條會修改數據的sql都會記錄到master的bin-log中。slave在復制的時候sql進程會解析成和原來master端執行過的相同的sql來再次執行。優點:s

mysql binlog日誌自動清理及手動刪除

vim having require clas mas fast replicat 想要 手動 轉自:http://blog.csdn.net/atco/article/details/24259333 說明:當開啟mysql數據庫主從時,會產生大量如mysql-bin.

mysql-binlog日誌恢復數據庫

rop mysql- master share int 查看 start row 分享圖片 mysqlbinlog常見的選項有以下幾個:--start-datetime:從二進制日誌中讀取指定等於時間戳或者晚於本地計算機的時間--stop-datetime:從二進制日誌中

騰訊工程師帶你深入解析 MySQL binlog

put func user hang 數據改變 sta 行修改 路徑 nlog 歡迎大家前往雲+社區,獲取更多騰訊海量技術實踐幹貨哦~ 本文由 騰訊雲數據庫內核團隊 發布在雲+社區 1.概述 binlog是Mysql sever層維護的一種二進制日誌,與innodb引擎

解析MySQL binlog --(2)FORMAT_DESCRIPTION_EVENT

mysql binlog 該格式描述事件時binlog version 4中為了取代之前版本的START_EVENT_3事件而引入的。是binlog文件的第一個事件,並在一個binlog文件中僅出現一次。具體定義:binlog-version:binlog版本mysql-server version:

解析MySQL binlog --(3)QUERY_EVENT

MySQL binlog query_e一、介紹 QUERY_EVENT事件以文本的形式記錄信息。當binlog格式時statement時,執行的語句都存儲在QUERY_EVENT中,如下所示: mysql> show binlog events in "mysql-bin.000002"; +--

解析MySQL binlog --(4)TABLE_MAP_EVENT

table_map_event1、簡介 row格式的binlog文件中,每個ROW_EVENT之前都有一個TABLE_MAP_EVENT,用於描述表的內部ID和結構定義。 mysql> show binlog events in "mysql-bin.000002"; +----------------

解析MySQL binlog --(5)ROWS_EVENT:WRITE_ROWS_EVENT、UP

row_event binlog1、介紹 對於statement格式的binlog,所有增刪改的SQL語句都記錄在QUERY_EVENT中,而row格式的binlog則以ROWS_EVENT格式記錄對數據庫的修改。ROWS_EVENT分為3種:WRITE_ROWS_EVENT、UPDATE_ROWS_EVEN

解析MySQL binlog --(6)XID_EVENT、ROTATE_EVENT及stop

mysql binlog xid 1、XID_EVENT 當事務提交時,不論是statement還是row格式的binlog都會添加一個XID_EVENT作為事務的結束。該事件記錄了該事務的ID。在mysql進行崩潰恢復時根據binlog中提交的情況來決定是否提交存儲引擎中prepared狀態的事

MySQL binlog日誌三種模式選擇及配置

ble 文件 eve 圖解 nag 一行 人的 三種模式 jpg 在講解binlog日誌三種模式前,先了解一下解析binlog日誌的命令工mysqlbinlog。mysqlbinlog工具的作用是解析mysql的二進制binlog日誌內容,把二進制日誌解析成可以在MySQL

logstash解析mysql日誌

clu mutate ges num msd roc 慢查詢日誌 use cms 在工作中需要在elk中展示mysql的慢語句,以便於DBA每天查看並對比進行優化;mysql5.5,mysql5.6,mysql5.7的慢日誌格式都不相同,根據自已的需要進行收集;mysql5

開啟mysql-binlog日誌操作步驟

.cn create 添加 log use 路徑 orm 賬戶 span 步驟1:找到mysql主庫的配置文件(註意:不能為從庫),lunix系統路徑一般為/etc/my.cnf步驟2:修改配置文件(可以提前備份一下)以開啟mysql-binlog功能。添加以下3行:log

mysql binlog 日誌詳解,恢復測試

二進位制日誌常用引數: max_binlog_size :單個二進位制日誌檔案的最大值,超過該值,則產生新的二進位制日誌檔案,並記錄到.index檔案,預設1G。 binlog_cache_size:  使用InnoDB時,所有未提交的事務會記錄到一個快取中,等待事務提交時

解決mysql binlog日誌查詢不出語句的問題

當bin-log的模式設定為 row時 不僅日誌長得快 並且檢視執行的sql時 也稍微麻煩一點:1.干擾語句多;2生成sql的編碼需要解碼。 binlog_format=row 直接mysqlbinlog出來的 檔案 執行sql部分的sql顯示為base64編碼

mysql binlog日誌檢視和匯出

檢視binlog檔案的2種方式 a、提取指定的binlog日誌   # mysqlbinlog /opt/data/APP01bin.000001   # mysqlbinlog /opt/data/APP01bin.000001|grep insert   /*!4001

mysql-binlog日誌恢復資料庫

binlog日誌用於記錄所有更新了資料或者已經潛在更新了資料的所有語句。語句以“事件”的形式儲存,它描述資料更改。當我們因為某種原因導致資料庫出現故障時,就可以利用binlog日誌來挽回(前提是已經配置好了binlog),接下來我們來配置 一、開啟mysql-binlog日誌 在mysql配置檔案my.c

提取mysql binlog日誌內容

整理自網路 (mysqlbinlog命令 -v 顯示每個欄位插入的值, -v -v顯示每個欄位的註釋,包括資料型別) MySQL binlog日誌記錄了MySQL資料庫從啟用日誌以來所有對當前資料庫的變更。 binlog日誌屬於二進位制檔案,實現基於時間點的恢復或者不完全

mysql-bin日誌檔案過大導致磁碟空間不足問題解決方法

在MySQL資料庫中,mysql-bin.000001、mysql- bin.000002等檔案是資料庫的操作日誌,例如UPDATE一個表,或者DELETE一些資料,即使該語句沒有匹配的資料,這個命令也會儲存到日誌檔案中,還包括每個語句執行的時間,也會記錄進去的。 這樣做主

linux開啟MySQL binlog日誌

binlog日誌,即binary log,是二進位制日誌檔案。它有兩個作用,一是增量備份,即只備份新增的內容;二是用於主從複製等,即主節點維護了一個binlog日誌檔案,從節點從binlog中同步資料。我們可以通過binlog日誌恢復資料。下面就介紹一下開啟MySQL bin