我正在此库上进行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
针对此问题的所有在线解决方案均参考主从配置,因此相应的解决方案-可以帮助任何人吗?:)