mysql - 玩scala - oauth2提供者mysql问题

标签 mysql scala playframework oauth-2.0 playframework-2.3

目标:

我正在尝试使用 Play 框架 2.3、scala 语言和 MySQL 在我的应用程序中实现 oauth2。

我做了什么:

我尝试使用 scala-oauth2-provider 。给定的示例在 PostgreSQL 上运行良好。但我想用 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. 在 mysql 中,root 用户下:

    CREATE USER 'test1'@'localhost' IDENTIFIED BY 'mypass';
    CREATE DATABASE oauth;
    GRANT ALL ON oauth.* TO 'test1'@'localhost';
    
  2. 更改 conf/application.conf 中的凭据:

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

然后运行您的应用程序。这应该可行。

关于mysql - 玩scala - oauth2提供者mysql问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33101281/

相关文章:

php - 如何使用行数据用 PHP 解析 MySQL 表的结果?

集成 Windows Small Business Server 的 Java 应用程序

scala - Play 应用程序关闭时未调用 Stop Hook

java - Play framework 2.5 Json post request binder

redirect - 如何检查页面将重定向到的位置

java - jOOQ代码生成器

mysql - 将查询组合成子查询

scala - 如何计算跨列(除一列之外)的总计?

scala - Scala-没有TypeTag可用当使用案例类尝试获取TypeTag时发生异常吗?

scala - 为什么构建失败并出现 Unresolved 依赖项 : com. typesafe.sbt#sbt-native-packager;0.7.4?