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);
        }
}

这里已经很详细了:
java通过bin-log监控mysql数据变化_蓝天灬的博客-CSDN博客_java监听mysql数据变化

需要监控到单个database的,不是所有database的方法

提供参考实例【Java代码中,如何监控Mysql的binlog?】,期望对你有所帮助:https://www.modb.pro/db/85008
【实例讲解的非常详细,代码注解清晰】

你可以通过 tableMapEventData.getDatabase() 获取数据库名来监控特定数据库

这里写的很详细,希望对你有所帮助
https://blog.csdn.net/u013169723/article/details/124930882
有其他问题,可以一起探讨

参考一下呢

参考

渣渣大学生三年的学习笔记:Java 基础知识整理_alsritter1的博客-CSDN博客 前言下面特别的 emoji 标识⛔:可以直接忽略????:特别重要⭐、????:重要????:待完善????:重要的子知识点????、????、????、????:有趣的知识点????:踩坑注:下面每个知识点都是可以点进去查看全文的,这里只是为了方便快速预览,所以把重要的知识点总结了出来~Java 基础Java 常用的方法与语法???? Java 包装类相关的问题主要知识点:拆装箱String 直接赋值与 new String 的区别(建议去看下 JVM 那里的 String https://blog.csdn.net/qq_44131750/article/details/119668519?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166878613316800182725721%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166878613316800182725721&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-119668519-null-null.nonecase&utm_term=java%E6%80%8E%E4%B9%88%E9%80%9A%E8%BF%87logbin%E7%9B%91%E6%8E%A7%E5%AE%9E%E6%97%B6%E5%8D%95%E4%B8%AA%E5%BA%93&spm=1018.2226.3001.4450