0

我在 Amazon EC2 Linux AMI 上的 tomcat7 上部署了一个 java spring 应用程序。Mysql 在同一个实例上运行。我可以使用 SSH 连接远程连接到 mysql 服务器。但无法从 spring 应用程序访问 mysql 服务器。Tomcat 的 context.xml 看起来像:

    <Resource name="jdbc/db"   
       auth="Container"   
       type="javax.sql.DataSource"   
       uniqueResourceName="jdbc/db"   
       username="root"   
       password="pass"   
       driverClassName="com.mysql.jdbc.Driver"  
       url="jdbc:mysql://localhost:3306/db"  
       maxActive="15"  
       maxIdle="7"  
       validationQuery="Select 1" />  

这不起作用,实际上我无法确定 db 是否已连接,因为它不会引发错误。但是当我用在其他实例上运行的服务器替换 localhost 时,它按预期工作。如果有人指出我错在哪里会很有帮助。

4

2 回答 2

0

3306端口是否开放?EC2 默认安全组控制新实例可以访问哪些端口,默认情况下非常严格。登录AWS 控制台并检查您在 EC2 > Network & Security > Security Groups 下是否没有限制性规则。

于 2013-09-19T21:06:03.810 回答
0

尝试读取 tomcat 错误 - nano usr/share/tomcat8/logs/catalina.out

在我的 connection.property 文件中,我编写了这样的代码

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/?user=root&password=pass

在tomcat8下运行的应用程序连接到本地mysql,一切正常。简单的读取错误上下文可能是某些东西不存在或因为区分大小写,mysql 抛出错误。

于 2015-11-21T20:33:25.417 回答