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;classSample{publicstaticvoidmain(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();
}
}
}
执行日志
Event{header=EventHeaderV4{timestamp=1501376071000, eventType=TABLE_MAP, serverId=3366725048, headerLength=19, dataLength=43, nextPosition=494953, flags=0},data=TableMapEventData{tableId=72,database='mysql',table='ha_health_check', columnTypes=8, -2, columnMetadata=0,65027, columnNullability={0}}}Event{header=EventHeaderV4{timestamp=1501376071000, eventType=UPDATE_ROWS, serverId=3366725048, headerLength=19,dataLength=37, nextPosition=495009, flags=0},data=UpdateRowsEventData{tableId=72, includedColumnsBeforeUpdate={0,1}, includedColumns={0,1},rows=[
{before=[1501376059857,m],after=[1501376071917,m]}
]}}
原文:https://ask.hellobi.com/blog/cimen/9133