2017-02-06 7 views
1

私はJHipsterアプリケーションを初めてプロダクションプロファイルにデプロイしています.Liquibaseが正しいテーブル/ローでデータベースを初期化します。生産中のLiquibaseを使用したJHipster

しかし、生産プロファイルでjhipsterを起動すると、MySQLに接続できないという例外が発生します。

Caused by: java.sql.SQLException: Access denied for user 'myusername'@'localhost' (using password: NO) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873) 
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1710) 
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253) 
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) 
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328) 
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95) 
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:101) 
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:316) 
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:518) 
    ... 31 common frames omitted 

エラー

はとパスワードは、接続のために使用されていないこと(このポストのための「myusernameと指定」でそれを置き換える)ユーザーのために接続することができないと言います。これが問題の場所です。接続にパスワードを使用する必要がありますが、何らかの理由でこれが設定から選択されていません。コンフィギュレーションの関連部分は:

spring: 
    datasource: 
     type: com.zaxxer.hikari.HikariDataSource 
     url: jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=utf8&useSSL=false 
     name: 
     username: myusername 
     password: SuperSecretPassword 
     hikari: 
      data-source-properties: 
       cachePrepStmts: true 
       prepStmtCacheSize: 250 
       prepStmtCacheSqlLimit: 2048 
       useServerPrepStmts: true 
liquibase: 
    contexts: prod 
    password: SuperSecretPassword 

私は自分自身liquibase.passwordプロパティにパスワードを追加しましたが、それは何も変更しませんでした。他の記事では、解決策はデータベースユーザーのパスワードを設定しないようにしていましたが、それは私の好みの選択肢ではありません。 誰でもこれを得る方法を知っていますか?

答えて

1

私は何が間違っているかを知りました。 liquibase.passwordフィールドのデータベースパスワードを参照するために$ {spring.datasource.password}が使用されていますが、明らかに動作しません。

関連する問題