播放2.3 scala - Slick与MYSQL问题

时间:2015-10-14 10:31:29

标签: mysql scala playframework slick playframework-2.3

我目前正在使用MYSQL + Slick学习Play Framework。

我已经尝试this Github sample来理解MYSQL + Slick通信。

即使我提供了正确的数据库凭据和数据库,我也会收到以下异常。

play.api.Configuration$$anon$1: 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$1.apply(DB.scala:247) ~[play-jdbc_2.11-2.3.8.jar:2.3.8]
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.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]

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

请采取以下措施:

  1. 在mysql中,在root用户下:

    CREATE USER 'test1'@'localhost' IDENTIFIED BY 'mypass';
    CREATE DATABASE emp;
    GRANT ALL ON emp.* TO 'test1'@'localhost';
    
  2. 确保您可以以'test1'身份登录并有权访问emp数据库:

    mysql -utest1 -pmypass
    use emp
    
  3. 更改 conf / application.conf 中的凭据:

    db.models.user="test1"
    db.models.pass="mypass"
    ...
    db.default.user="test1"
    db.default.pass="mypass"
    ...
    
  4. 然后运行您的应用程序。这应该有效,至少没有连接问题。