欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

为binlog设置监听事件,但是开启后没有任何反应,也不报错。半解决,可参考。

程序员文章站 2024-01-26 21:58:04
...

监听方法:

 /*监听*/
        BinaryLogClient client = new BinaryLogClient("localhost", 3306, "root", "123456");
        EventDeserializer eventDeserializer = new EventDeserializer();
        eventDeserializer.setCompatibilityMode(
                EventDeserializer.CompatibilityMode.DATE_AND_TIME_AS_LONG,
                EventDeserializer.CompatibilityMode.CHAR_AND_BINARY_AS_BYTE_ARRAY
        );
        client.setEventDeserializer(eventDeserializer);
        client.setBinlogFilename("D:\\mysql\\mysql-8.0.13-winx64\\log\\mysql-bin.000001") ;
        client.registerEventListener(new BinaryLogClient.EventListener() {

            @Override
            public void onEvent(Event event) {
                System.out.println(event.toString());
            }

        });

        client.connect();

监听事件是打印event,但是运行后没有反应:
为binlog设置监听事件,但是开启后没有任何反应,也不报错。半解决,可参考。
解决办法:
没有为mysql配置server-id,在my.ini中配置即可,id可随意。
配置后一部分人应该解决了,另一部分没解决的就把指定文件名取消了把,直接监听master的binlog即可成功监听。
也就是去了 client.setBinlogFilename(“D:\mysql\mysql-8.0.13-winx64\log\mysql-bin.000001”) ;
这个是相当于监听脱机文件的改变状态。

相关标签: binlog监听 解析