2015-10-13 86 views
0

目的:播放斯卡拉 - 的oauth2提供商MySQL的問題

我想實現在使用播放框架2.3,Scala語言和MYSQL我的應用程序的oauth2。

我所做的:

我試圖用scala-oauth2-provider。給定的示例使用postgersql正常工作。但我想用MYSQL來實現這一點。

我的嘗試:

我在build.sbt

"mysql"  % "mysql-connector-java" % "5.1.18", 
jdbc 

加入下面的依賴關係和我除去給定樣品中的下面依賴性。

"org.postgresql" % "postgresql" % "9.3-1100-jdbc41" 

改變了application.conf數據庫配置

#db.default.url="jdbc:mysql://localhost/oauth" 
db.default.url="jdbc:mysql://localhost:3306/oauth" 
db.default.driver="com.mysql.jdbc.Driver" 
db.default.user="root" 
db.default.pass="root" 
db.default.host="localhost" 

問題:

我對着下面的問題。

[error] - c.j.b.h.AbstractConnectionHook - 14:16:25.117 - Caller+0 at com.jolbox.bonecp.hooks.AbstractConnectionHook.onAcquireFail(AbstractConnectionHook.java:77) 
- Failed to obtain initial connection Sleeping for 0ms and trying again. Attempts left: 0. Exception: null.Message:Access denied for user 'root'@'localhost' (using password: YES) 
[error] - application - 14:16:25.131 - Caller+0 at play.api.LoggerLike$class.error(Logger.scala:141) 
- 

! @6nmjm0p14 - Internal server error, for (GET) [/] -> 

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [default]] 
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:94) ~[play_2.11-2.3.4.jar:2.3.4] 
    at play.api.Configuration.reportError(Configuration.scala:743) ~[play_2.11-2.3.4.jar:2.3.4] 
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:247) ~[play-jdbc_2.11-2.3.4.jar:2.3.4] 
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:238) ~[play-jdbc_2.11-2.3.4.jar:2.3.4] 
    at scala.collection.immutable.List.map(List.scala:273) ~[scala-library-2.11.6.jar:na] 
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943) ~[mysql-connector-java-5.1.18.jar:na] 
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4113) ~[mysql-connector-java-5.1.18.jar:na] 

我已經給了只有正確的MySQL的憑證,也是我對數據庫命名的OAuth。即使它拋出「拒絕訪問用戶'root'@'localhost'(使用密碼:YES)」錯誤。

任何人都可以幫我解決這個問題嗎?

回答

1

請採取以下措施:

  1. 在MySQL中,下root用戶:

    CREATE USER 'test1'@'localhost' IDENTIFIED BY 'mypass'; 
    CREATE DATABASE oauth; 
    GRANT ALL ON oauth.* TO 'test1'@'localhost'; 
    
  2. 變動c redentials在的conf/application.conf

    db.default.user="test1" 
    db.default.pass="mypass" 
    

然後運行應用程序。這應該工作。

1

你有

Access denied for user 'root'@'localhost' (using password: YES) 

檢查您的憑證

+0

我注意到了這個錯誤。我錯過了更新我的問題。我只給了正確的憑證。即使它顯示錯誤。這是問題。 – SKK