配置远程mysql数据库时发生Openfire xmpp服务器错误

配置远程mysql数据库时发生Openfire xmpp服务器错误,xmpp,Xmpp,最近,我正在为集群准备xmpp服务器(openfire)。这就是为什么我需要使用相同的数据库设置多个openfire服务器。 在使用远程ip设置openfire服务器时配置数据库;我得到了一个错误: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 millisecon

最近,我正在为集群准备xmpp服务器(openfire)。这就是为什么我需要使用相同的数据库设置多个openfire服务器。 在使用远程ip设置openfire服务器时配置数据库;我得到了一个错误:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1127)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:356)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2502)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2539)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2321)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.GeneratedConstructorAccessor11.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:187)
    at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
    at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
    at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
    at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44)
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.j
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障
成功发送到服务器的最后一个数据包是0毫秒前的。驱动程序尚未从服务器收到任何数据包。
位于sun.reflect.GeneratedConstructorAccessor14.newInstance(未知源)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:526)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:409)
位于com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1127)
在com.mysql.jdbc.MysqlIO上(MysqlIO.java:356)
位于com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2502)
位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2539)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2321)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:832)
JDBC4Connection.(JDBC4Connection.java:46)
位于sun.reflect.GeneratedConstructorAccessor11.newInstance(未知源)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:526)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:409)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
位于java.sql.DriverManager.getConnection(DriverManager.java:571)
位于java.sql.DriverManager.getConnection(DriverManager.java:187)
位于org.logicalcbwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
位于org.logicalcbwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
位于org.logicalcbwebs.proxool.Prototyper.sweep(Prototyper.java:102)
在org.logicalcbwebs.proxool.PrototyperThread.run(PrototyperThread.java:44)上
原因:java.net.ConnectException:连接被拒绝
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
位于java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
在java.net.socksocketimpl.connect(socksocketimpl.j

如果我做错了,请纠正我???

这似乎是一个网络/配置问题:连接被拒绝意味着服务器无法连接到您的数据库


这可能是因为数据库端口未公开或与默认端口不同。最有可能的是,计算机的DNS/命名可能不正确。

首先将所有权限授予远程mysql用户。要执行此操作,您需要遵循以下步骤

授予远程登录权限的步骤 运行命令

  • sudo vi/etc/mysql/my.cnf

  • 在这一行进行注释:-bind-address=127.0.0.1/bind-address=0.0.0.0并退出

  • 登录mysql并运行命令 使用GRANT选项将.上的所有权限授予由“密码”标识的“用户”@“%”

  • 退出mysql并运行命令 sudo服务mysql重启

  • 要检查远程登录访问,请使用commond从本地服务器登录此数据库 mysql-uroot-p-hip

  • **如果登录成功,则表示授予远程登录访问权限