天天看点

mysql-binlog-connector-java监听binlog日志不报错,却无法监听到日志的解决办法

    public static void test1() {

        final BinaryLogClient client = new BinaryLogClient("localhost", 3306, "root", "root");

        client.setBinlogFilename("mysql-bin.000001");

        client.setBinlogPosition(4);

        client.registerEventListener(new BinaryLogClient.EventListener() {

            public void onEvent(Event event) {

                System.out.println(event.toString()); 

            }

        }); 

        try {

            client.connect();

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

 启动后

mysql-binlog-connector-java监听binlog日志不报错,却无法监听到日志的解决办法

对数据库进行操作为打印相关event。

下载源码,打断点发现

mysql-binlog-connector-java监听binlog日志不报错,却无法监听到日志的解决办法
mysql-binlog-connector-java监听binlog日志不报错,却无法监听到日志的解决办法

异常未打印,所以控制台没有任何输出。

查看errorPacket对象的errorMessage属性为:Misconfigured master - server_id was not set

即数据库的server-id未指定。

解决办法:修改my.cnf文件,在mysqld下添加server-id,重启数据库。问题解决

mysql-binlog-connector-java监听binlog日志不报错,却无法监听到日志的解决办法