Java Webapp 无法在 openshift 上连接 mysql
Java Webapp could not connect mysql on openshift
我是新的 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/myapp
、db.url=jdbc:mysql://localhost:3306/myapp
、jdbc: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:我的英文不好
本例连接配置错误;用户名用作密码:
<property name="password" value="${db.username}" />
...应该读作:
<property name="password" value="${db.password}" />
我是新的 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/myapp
、db.url=jdbc:mysql://localhost:3306/myapp
、jdbc: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:我的英文不好
本例连接配置错误;用户名用作密码:
<property name="password" value="${db.username}" />
...应该读作:
<property name="password" value="${db.password}" />