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

artech 阅读:169 2025-02-15 21:57:57 评论:0

最近我正在为集群准备我的 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 

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

请您参考如下方法:

首先将所有权限授予您的远程 mysql 用户。为此,您需要按照以下步骤操作

授予远程登录权限的步骤

运行命令

  1. sudo vi/etc/mysql/my.cnf

  2. 在这一行发表评论:- bind-address = 127.0.0.1/bind-address = 0.0.0.0 并退出。

  3. 登录mysql并运行命令 授予 上的所有权限。 给“用户”@“%”,使用授予选项通过“密码”识别;

  4. 退出mysql并运行命令 sudo service mysql restart

  5. 使用 commond 从本地服务器检查此数据库的远程登录访问登录 mysql -uroot -p -h IP

** 如果登录成功,则表示已授予远程登录权限。


标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号