问题遇到的现象和发生背景
j请问java使用这个binlog包 怎么实时监控mysql单个库的数据变化(增删改查)
java
<dependency>
<groupId>com.github.shyiko</groupId>
<artifactId>mysql-binlog-connector-java</artifactId>
<version>0.21.0</version>
</dependency>
public static void main(String[] args) {
BinaryLogClient binaryLogClient = new BinaryLogClient("host", 3306,"root", "root");
binaryLogClient.setServerId(1);
binaryLogClient.registerEventListener(event -> {
EventData data = event.getData();
TableMapEventData tableMapEventData = null;
if (data instanceof TableMapEventData) {
tableMapEventData = (TableMapEventData) data;
}
if (data instanceof WriteRowsEventData) {
WriteRowsEventData writeRowsEventData = (WriteRowsEventData) data;
List<Serializable[]> rows = writeRowsEventData.getRows();
for (Serializable[] row : rows) {
Iterator<Serializable> iterator = Arrays.stream(row).iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
System.out.print(iterator.next().toString() + " - ");
System.out.println();
}
}
}
});
try{
binaryLogClient.connect();
}catch (IOException e){
System.out.println(e);
}
}