2017-12-29 30 views
0

私のSpringBootアプリケーションをOpenshift v3のmySQL PODにリンクさせることができません。私がこれまでにやったOpenshift v3のSpringBootアプリケーションにmysqlを接続する

  • は、基本的な春のブートアプリケーションアップとopenshift v3では動作して手に入れました。
  • mysqlアプリケーションを追加しました。ポッドは稼動しており、エラーは発生していません。
  • を追加しました私の春ブーツアプリのapplication.propertiesでデータソース設定:

    spring.datasource.url = JDBCます。mysql:// mysqlの:3306/$ {MYSQL_DATABASE} \ spring.datasource.username =コマンドを実行して、MySQLのDBで$ {MYSQL_USER} spring.datasource.password = $ {MYSQL_PASSWORD}

  • 連結ばねブートアプリ:

O Cのenv DC shoppinglist -e MYSQL_USER = DBUSER -e MYSQL_PASSWORD = DBPASSWORD -e MYSQL_DATABASE = shoppingdb

deploymentconfig "shoppinglistは、" それはとMySQLのDBにアクセスすることはできませんので、しかし、春ブーツポッドがクラッシュする

を更新します指定されたユーザー:

2017-12-29 13:35:00.806 ERROR 1 --- [   main] 
o.a.tomcat.jdbc.pool.ConnectionPool  : Unable to create initial 
connections of pool. java.sql.SQLException: **Access denied for user 
''@'172.17.0.7'** (using password: YES) 

どうにかしてユーザー名が失われます。私は私のoc env設定で何かが勇気だと思いますか?私は接着剤を持っていません...

これまで何が間違っているのか分かりませんし、助けてください。ありがとう!

+0

env変数を追加した後、ポッドを再デプロイしますか? env変数は直ちに設定されないため、新規デプロイメントの後でのみ新しい環境設定を取得します。 –

+0

デプロイメント設定で環境変数を設定すると、通常の場合、自動的に再起動されます。問題は、 '' application.properties''の環境変数参照が拡張されているかどうかです。とにかく '' oc debug dc shoppinglist''を実行し、シェルプロンプトで '' env''を実行して、環境変数が最初のステップとしてコンテナに渡されることを確認します。 –

+0

再デプロイしても結果は変わりません。 – Tom

答えて

0

新年が幸せです!私の問題を解決するために私をサポートしてくれた皆様に感謝します。 私は多くのことを学びましたが、最後に、それは私のapplication.propertiesでちょうどタイプミスだった:

spring.datasource.url=jdbc:mysql://mysql:3306/${MYSQL_DATABASE}\ 

それは(embarissing ...)propablyコピー&ペーストの問題だった 私は{MYSQL_DATABASE}バックスラッシュを監督していますすべての時間。

もう一度お手数をおかけします。

関連する問題