生吃小瓜子 2022-11-11 18:06 采纳率: 0%
浏览 74
已结题

java怎么通过logbin监控实时单个库

问题遇到的现象和发生背景

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);
        }
}
  • 写回答

8条回答 默认 最新

  • honestman_ 2022-11-11 18:12
    关注
    评论

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 修改了问题 11月11日
  • 创建了问题 11月11日

悬赏问题

  • ¥15 vivo手机锁屏密码忘记了需要手机里的资料在百度里搜可以用ADB命令希望帮帮我
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?
  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出