【发布时间】:2011-09-27 06:25:25
【问题描述】:
我在单个 ec2 实例上运行 tomcat6 和 mysql5,我不能从外部世界运行。
我在 ec2 中的 tomcat 上的 context.xml...
<bean id="dataSource" class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
<property name="url" value="jdbc:mysql://ec2-xx-xx-xxx-178.compute1.amazonaws.com:3306/data_dbo" />
<property name="user" value="a_user" />
<property name="password" value="a_password" />
</bean>
客户端上下文.xml
<bean id="myService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
<property name="serviceUrl" value="http://ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com:8080/MyService-services/remoting/thingServiceExporter"/>
<property name="serviceInterface" value="com.things.services.MyService"/>
</bean>
客户端出错...
Caused by: java.sql.SQLException: Access denied for user ''@'domU-xx-xx-xx-xx-xx-DB.compute-1.internal' (using password: NO)
我已经为我的用户设置了权限,但它似乎没有使用我在我的 tomcat 数据源中设置的用户。我这样说是因为客户端上的错误(用户''@的访问被拒绝)没有用户,没有密码。 是否需要在 ec2 上的 tomcat 和 mysql 之间设置一些东西,因为它似乎使用内部 dns 来访问 MySql?
如果我可以提供任何其他信息,请告诉我!
【问题讨论】:
-
是否在您的 EC2 实例上打开了相应的端口?
-
好问题。是的,我已经打开了 8080。
-
... 我可以得到一个 servlet 连接器的实例。我对此无能为力。
-
这是一个很长的镜头,但是像这样? forum.springsource.org/…
-
感谢您关注@Enno,但不,这不是问题所在。它也适用于我办公室中具有类似设置的非 EC2 服务器。这似乎是一个配置问题,但我无法确定它。
标签: java mysql tomcat amazon-ec2 amazon