【问题标题】:remote DB connection via JDBC and mysql通过 JDBC 和 mysql 进行远程 DB 连接
【发布时间】:2013-11-29 06:27:31
【问题描述】:

当我尝试连接远程数据库时出现以下错误 我使用 mysql server 5.5,安装了所有 jar 文件并运行了 grant previlidge 脚本, 请帮我解决同样的问题

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

Last packet sent to the server was 0 ms ago.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2120)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at JDBCExample.main(JDBCExample.java:31)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last packet sent to the server was 15 ms ago.
        Caused by: java.net.ConnectException: Connection refused: connect

【问题讨论】:

  • 您是否授予了远程定位权限?
  • 能否也分享一下代码?
  • 远程数据库是否允许远程连接?您确定您的 IP 地址和端口正确吗?
  • 您是否已将数据库服务器配置为允许远程连接?远程机器是否在防火墙后面?您允许数据​​库连接的端口是否在该计算机上打开?
  • 你可以关注this教程。

标签: java mysql jdbc


【解决方案1】:

这个错误可能是因为你没有授予远程位置的权限。像这样授予权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.205'
    IDENTIFIED BY PASSWORD 'some_characters'  
    WITH GRANT OPTION;
FLUSH PRIVILEGES;

【讨论】:

  • 这可能是由于其他原因,请参阅此帖子,stackoverflow.com/questions/2121829/…
  • @Masud 我曾经遇到过这种情况,所以发布了答案。好吧,如果你觉得它不应该在这里,那么我可以删除它
  • 权限授予可能是问题所在。所以,你的回答很有道理。让我们等到 OP 回复。
  • @Masud 感谢您的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 2017-07-31
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
  • 2018-12-05
  • 2015-03-04
相关资源
最近更新 更多