首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置远程mysql db时发生的Openfire xmpp服务器错误

配置远程mysql db时发生的Openfire xmpp服务器错误
EN

Stack Overflow用户
提问于 2015-12-24 08:22:39
回答 2查看 615关注 0票数 3

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

代码语言:javascript
复制
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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-24 11:32:06

首先,将所有权限授予远程mysql用户。要做到这一点,您需要遵循以下步骤

授予远程登录权限的步骤

运行命令

  1. sudo vi /etc/mysql/my.cnf
  2. 请注释这一行:- bind=127.0.0.1/bind= 0.0.0.0并退出。
  3. 登录mysql并运行命令,授予所有特权。使用GRANT选项标识为“user”@‘%’的“密码”;
  4. 退出mysql并运行命令sudo service mysql重新启动。
  5. 使用逗号mysql -uroot -p -h IP从本地服务器检查此数据库的远程登录访问权限

**如果登录成功,则意味着授予远程登录访问权限。

票数 2
EN

Stack Overflow用户

发布于 2015-12-24 09:10:38

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34449564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档