java - ubuntu 通信链接失败时的 Mysql 和 java 连接问题

标签 java mysql jdbc jdbctemplate spring-jdbc

场景是这样的

我正在尝试使用 spring 从核心 java 应用程序连接到 mysql 数据库服务器。我的应用程序和服务器在不同的机器上运行,即打开的端口有限

这是我到目前为止所做的

  1. 我能够从客户端计算机远程登录到端口 5506(我的数据库服务器在其上运行)

  2. 我能够从客户端计算机的命令提示符(mysql 客户端)连接到数据库服务器

3.从5.0.8到最新的所有驱动版本我都试过了

  1. 当然,除了生产之外,相同的代码可以在任何地方使用 :)

不知何故,我开始认为 Java 进程需要打开更多端口

这里是异常(exception)

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection refused

STACKTRACE:

java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
    at java.net.Socket.connect(Socket.java:546)
    at java.net.Socket.connect(Socket.java:495)
    at java.net.Socket.<init>(Socket.java:392)
    at java.net.Socket.<init>(Socket.java:235)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at java.sql.DriverManager.getConnection(DriverManager.java:620)
    at java.sql.DriverManager.getConnection(DriverManager.java:169)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:173)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:164)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:381)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:455)
    at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:498)
    at 

最佳答案

您是否在连接 URL 中指定了 5506 端口?此端口不是 MySQL (3306) 的默认端口。

关于java - ubuntu 通信链接失败时的 Mysql 和 java 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14369330/

相关文章:

java.sql.SQLException : ResultSet closed on sqlite 异常

java - Netbeans 背景图像远离其他组件

python - Django 数据库查询很慢

mysql - 如何合并两个具有相同架构的 mysql 数据库?

java - 尝试插入 ID 并获取 "cannot accept a NULL value"

java - ORA-12514 : TNS:listener does not currently know of service requested in connect descriptor

java - 如何在firebase数据库中添加子项

java - 不使用 try/catch 处理异常

java - 无法将类型 'java.lang.String' 的属性值转换为属性 'java.util.Date' : it is not exactly10characters long 所需的类型 'date'

jquery - 分离自动完成jquery页面