我正在这个库上做一个 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
此问题的所有在线解决方案均指主从配置,并且相应的解决方案 - 帮助任何人?:)