玩 2.3 scala - Slick 有 MYSQL 问题
Play 2.3 scala - Slick with MYSQL issue
我目前正在使用 MYSQL+Slick 学习 Play Framework。
我已经尝试 this Github sample 来理解 MYSQL+Slick 通信。
- 下载源代码
- 运行命令
activator clean compile run
- 在浏览器中打开于 http://localhost:9000
即使我提供了正确的数据库凭据和数据库,我仍收到以下异常。
play.api.Configuration$$anon: Configuration error[Cannot connect to database [models]]
at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:94) ~[play_2.11-2.3.8.jar:2.3.8]
at play.api.Configuration.reportError(Configuration.scala:743) ~[play_2.11-2.3.8.jar:2.3.8]
at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:247) ~[play-jdbc_2.11-2.3.8.jar:2.3.8]
at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:238) ~[play-jdbc_2.11-2.3.8.jar:2.3.8]
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:998) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659) ~[mysql-connector-java-5.1.35.jar:5.1.35]
有人知道我该如何解决这个问题吗?
请采取以下行动:
在mysql中,root用户下:
CREATE USER 'test1'@'localhost' IDENTIFIED BY 'mypass';
CREATE DATABASE emp;
GRANT ALL ON emp.* TO 'test1'@'localhost';
确保您可以作为 'test1' 登录并有权访问 emp 数据库:
mysql -utest1 -pmypass
use emp
更改您的 conf/application.conf:
中的凭据
db.models.user="test1"
db.models.pass="mypass"
...
db.default.user="test1"
db.default.pass="mypass"
...
然后运行你的申请。这应该可以工作,至少没有连接问题。
我目前正在使用 MYSQL+Slick 学习 Play Framework。
我已经尝试 this Github sample 来理解 MYSQL+Slick 通信。
- 下载源代码
- 运行命令
activator clean compile run
- 在浏览器中打开于 http://localhost:9000
即使我提供了正确的数据库凭据和数据库,我仍收到以下异常。
play.api.Configuration$$anon: Configuration error[Cannot connect to database [models]]
at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:94) ~[play_2.11-2.3.8.jar:2.3.8]
at play.api.Configuration.reportError(Configuration.scala:743) ~[play_2.11-2.3.8.jar:2.3.8]
at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:247) ~[play-jdbc_2.11-2.3.8.jar:2.3.8]
at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:238) ~[play-jdbc_2.11-2.3.8.jar:2.3.8]
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:998) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870) ~[mysql-connector-java-5.1.35.jar:5.1.35]
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659) ~[mysql-connector-java-5.1.35.jar:5.1.35]
有人知道我该如何解决这个问题吗?
请采取以下行动:
在mysql中,root用户下:
CREATE USER 'test1'@'localhost' IDENTIFIED BY 'mypass'; CREATE DATABASE emp; GRANT ALL ON emp.* TO 'test1'@'localhost';
确保您可以作为 'test1' 登录并有权访问 emp 数据库:
mysql -utest1 -pmypass use emp
更改您的 conf/application.conf:
中的凭据db.models.user="test1" db.models.pass="mypass" ... db.default.user="test1" db.default.pass="mypass" ...
然后运行你的申请。这应该可以工作,至少没有连接问题。