mysql-binlog-connector-java-在二进制日志索引文件中找不到第一个日志文件名

时间:2018-07-19 08:13:18

标签: java mysql mysqlbinlog binlog

我正在此库上进行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套接字= / var / lib / mysql / mysql.sock

     

symbolic-links = 0

     

log-error = / var / log / mysql / mysqld.log

     

server_id = 1

     

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

     

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

     

bind-address =

我的日志目录的内容如下:

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

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

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

针对此问题的所有在线解决方案均参考主从配置,因此相应的解决方案-可以帮助任何人吗?:)

0 个答案:

没有答案