我是新的openshift。我在openshift上創建了Tomcat 7(JBoss EWS 2.0)應用程序來託管我的web應用程序。現在我正在部署我的戰爭文件,並面臨一個錯誤。Java Webapp無法在openshift上連接mysql
我的web應用程序無法連接到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:[email protected]: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}
但我仍然有錯誤,我的web應用程序無法正常工作。
更新:
mysql> select user, host from mysql.user;
+--------------+-------------+
| user | host |
+--------------+-------------+
| admink5J5aXX | % |
| admink5J5aXX | 127.x.x.x |
+--------------+-------------+
是否有任何人能夠解決這個錯誤的根本原因?請幫忙! :(
在此先感謝
P/S:我的英語不太好
你能夠ssh到你的應用程序(或使用端口轉發)並訪問mysql數據庫e與那些相同的憑據?這是一個縮放的應用程序嗎?您試圖訪問的數據庫是否與代碼相同? – 2015-12-02 19:59:46
對於遲到的回覆,@ corey112358。我已經從工作中回來了。是的,當使用端口轉發時,我可以將SSH應用程序連接到mysql數據庫。我的應用程序不是規模。我試圖訪問的數據庫是我的應用程序的一部分。 –
您的連接配置使用db.username作爲密碼' ';這只是這個問題中的一個錯字,還是你有相同的部署? –