【问题标题】:Java Webapp could not connect mysql on openshiftJava Webapp 无法在 openshift 上连接 mysql
【发布时间】:2016-03-06 22:51:34
【问题描述】:

我是新的openshift。我在 openshift 上创建了 Tomcat 7 (JBoss EWS 2.0) 应用程序来托管我的 webapp。现在我正在部署我的 war 文件,但我遇到了一个错误。

我的网络应用程序无法连接到 mysql。错误如下:

java.sql.SQLException: Access denied for user 'admink5J5aXX'@'127.x.x.x' (using password: YES)

这是我的连接配置:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${db.url}" />
    <property name="username" value="${db.username}" />
    <property name="password" value="${db.username}" />
</bean>

还有属性是:

db.username=admink5J5aXX
db.password=password
db.url=jdbc:mysql://127.x.x.x:3306/myapp

用户、密码和主机由 OpenShift 提供。

env | grep MYSQL
OPENSHIFT_MYSQL_DB_PORT=3306
OPENSHIFT_MYSQL_DB_HOST=127.x.x.x
OPENSHIFT_MYSQL_DB_PASSWORD=password
OPENSHIFT_MYSQL_IDENT=redhat:mysql:5.5:0.2.20
OPENSHIFT_MYSQL_DB_USERNAME=admink5J5aXX
OPENSHIFT_MYSQL_DB_URL=mysql://admink5J5aXX:password@127.x.x.x:3306/
OPENSHIFT_MYSQL_VERSION=5.5

我尝试将db.url=jdbc:mysql://127.x.x.x:3306/myapp 更改为db.url=jdbc:mysql://127.0.0.1:3306/myappdb.url=jdbc:mysql://localhost:3306/myappjdbc:mysql://${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/${OPENSHIFT_APP_NAME},但仍然出现错误,并且我的 web 应用程序无法运行。

更新:

mysql> select user, host from mysql.user;
+--------------+-------------+
| user         | host        |
+--------------+-------------+
| admink5J5aXX | %           |
| admink5J5aXX | 127.x.x.x   |
+--------------+-------------+

有没有人可以解决这个错误的根本原因?请帮忙! :(

提前致谢。

P/s:我的英文不好

【问题讨论】:

  • 您是否能够通过 ssh 连接到您的应用程序(或使用端口转发)并使用相同的凭据访问 mysql 数据库?这是一个扩展的应用程序吗?您尝试访问的数据库与代码是否属于同一应用程序?
  • 抱歉,回复晚了,@corey112358。我已经下班回来了。是的,当使用端口转发时,我可以 ssh 到我的应用程序并连接到 mysql 数据库。我的应用程序不是规模。我尝试访问的数据库是 myapplication 的一部分。
  • 您的连接配置使用 db.username 作为密码 &lt;property name="password" value="${db.username}" /&gt;;这只是这个问题中的一个错字还是你有相同的部署?
  • 哦不!这是我的错误,在部署的代码中也是如此。非常感谢@JiriFiala。
  • 我已经添加了我的评论作为答案,以便结束这个问题。很高兴我能帮上忙。

标签: java mysql web openshift


【解决方案1】:

在这种情况下存在连接配置错误;用户名用作密码:

<property name="password" value="${db.username}" />

...应改为:

<property name="password" value="${db.password}" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2023-04-07
    • 1970-01-01
    • 2015-03-02
    相关资源
    最近更新 更多