2

我正在这个库上做一个 POC,我在设置它时遇到了一些困难。我有一个非常简单的 MySQL 设置: - 单个 VM(无主从) - centos 7 - MySQL 版本 5.7

这是我到目前为止的代码:

public static void main(String[] args) throws IOException {

    BinaryLogClient client = new BinaryLogClient("***.***.***.***", 3306, "****", "******");
    client.setBinlogFilename("/var/log/mysql/mysql-bin");

    client.registerLifecycleListener(new BinaryLogClient.LifecycleListener() {
        @Override
        public void onConnect(BinaryLogClient binaryLogClient) {
            System.out.println("OnConnect()");
        }
        @Override
        public void onCommunicationFailure(BinaryLogClient binaryLogClient, Exception e) {
            System.out.println("OnCommunicationFailure()");
            e.printStackTrace();
        }
        @Override
        public void onEventDeserializationFailure(BinaryLogClient binaryLogClient, Exception e) {
            System.out.println("OnEventDeserialize()");
        }
        @Override
        public void onDisconnect(BinaryLogClient binaryLogClient) {
            System.out.println("OnDisconnect()");
        }
    });

    client.registerEventListener(new EventListener() {
        @Override
        public void onEvent(Event event) {
            System.out.println(event.toString());
        }
    });
    client.connect();
}

运行此代码时,我得到以下输出:

OnCommunicationFailure() com.github.shyiko.mysql.binlog.network.ServerException: 在 com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:882) 的二进制日志索引文件中找不到第一个日志文件名在 com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:559) 在 Main.main(Main.java:40)

我的 MySQL 配置文件内容:

[mysqld]

datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock

符号链接=0

日志错误=/var/log/mysql/mysqld.log

server_id=1

log-bin=/var/log/mysql/mysql-bin

pid-file=/var/run/mysqld/mysqld.pid

绑定地址= . .

我的日志目录内容如下:

[mysql]# ls
error.log  mysql-bin.000001  mysql-bin.index  mysqld.log

mysql-bin.index 的内容当然是:

/var/log/mysql/mysql-bin.000001

此问题的所有在线解决方案均指主从配置,并且相应的解决方案 - 帮助任何人?:)

4

0 回答 0