玩 scala - oauth2 提供程序 mysql 问题
Play scala - oauth2 provider mysql issue
目标:
我正在尝试使用 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: 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.apply(DB.scala:247) ~[play-jdbc_2.11-2.3.4.jar:2.3.4]
at play.api.db.BoneCPPlugin$$anonfun$onStart.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 的数据库。即使它抛出 "Access denied for user 'root'@'localhost' (using password: YES)" 错误。
谁能帮我解决这个问题?
你有
Access denied for user 'root'@'localhost' (using password: YES)
检查您的凭据
请采取以下措施:
在mysql中,root用户下:
CREATE USER 'test1'@'localhost' IDENTIFIED BY 'mypass';
CREATE DATABASE oauth;
GRANT ALL ON oauth.* TO 'test1'@'localhost';
更改您的 conf/application.conf:
中的凭据
db.default.user="test1"
db.default.pass="mypass"
然后运行你的申请。这应该有效。
目标:
我正在尝试使用 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: 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.apply(DB.scala:247) ~[play-jdbc_2.11-2.3.4.jar:2.3.4]
at play.api.db.BoneCPPlugin$$anonfun$onStart.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 的数据库。即使它抛出 "Access denied for user 'root'@'localhost' (using password: YES)" 错误。
谁能帮我解决这个问题?
你有
Access denied for user 'root'@'localhost' (using password: YES)
检查您的凭据
请采取以下措施:
在mysql中,root用户下:
CREATE USER 'test1'@'localhost' IDENTIFIED BY 'mypass'; CREATE DATABASE oauth; GRANT ALL ON oauth.* TO 'test1'@'localhost';
更改您的 conf/application.conf:
中的凭据db.default.user="test1" db.default.pass="mypass"
然后运行你的申请。这应该有效。