Java Webapp无法在openshift上连接mysql

时间:2015-12-02 15:54:21

标签: java mysql web openshift

我是新的openhift。我在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},但我仍然遇到错误,我的网络工具无效。

更新:

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

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

提前致谢。

P / s:我的英语不好

1 个答案:

答案 0 :(得分:2)

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

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

......应该读取:

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