关于ubuntu通信链路失败的mysql和java连接问题

时间:2013-01-16 22:47:30

标签: java mysql jdbc jdbctemplate spring-jdbc

这是方案

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

这是我迄今为止所做的事情

  1. 我可以从客户端计算机telnet到端口5506(我的数据库服务器运行在其上)

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

  3. 3.我尝试了从5.0.8到最新的所有驱动程序版本

    1. 当然,相同的代码适用于除生产以外的所有地方:)
    2. 不知何故,我开始认为Java进程需要打开更多端口

      这是例外

      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 
      

1 个答案:

答案 0 :(得分:0)

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