【问题标题】:ec2+tomcat+mysql Access Denied!ec2+tomcat+mysql 访问被拒绝!
【发布时间】: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


【解决方案1】:

我发现了问题。我的persistance.xml 有以下代码...

 <properties>
      <property name="hibernate.connection.username" value=""/>
      <property name="hibernate.connection.driver_class" value=""/>
      <property name="hibernate.connection.password" value=""/>
      <property name="hibernate.connection.url" value=""/>
    </properties>

不知道它是怎么进来的! persistance.xml 中的设置必须覆盖我的 Spring 上下文文件中的设置。

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2017-03-23
    • 2013-11-25
    • 2017-11-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多