2015-10-13 45 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