[SQLException:用户访问被拒绝'' 179.43.156.163' (使用密码:是)]

时间:2017-09-08 18:55:42

标签: mysql scala playframework slick

我知道SO上有很多关于这个论点的主题,但我认为我的不同,或者我无法找到它。 我使用play framework 2.6,我的application.conf看起来像这样:

default.db = {
  url="jdbc:mysql://xxx.xxx.rds.amazonaws.com/dbname"
  host="xxx.xxx.rds.amazonaws.com"
  driver="com.mysql.jdbc.Driver"
  username="root"
  password="password"
}

编辑:其他一些可能很重要的部分:

slick.dbs.default.driver = "slick.driver.MySQLDriver$"
play.http.secret.key="KVNU8u1lFSV_eNdfc=6oMnP@M<bH4YS<ZJqC5954p@S>=PiXwusl:vf>RWL2w_=D"
play.filters.hosts.allowed = ["."]

我不断得到这个:

java.sql.SQLException: Access denied for user ''@'19.345.16.16' (using password: YES)
经过多次尝试,我也得到了这个:

SQLTransientConnectionException: ec2 - Connection is not available, request timed out after 1000ms.]

为什么要尝试连接空用户? 我已经尝试过没有&#34;&#34;和许多其他组合..

编辑:我将其与空白字段(&#39;&#39;)用户联系,因此允许类型&#39; @&#39;%&#39;的用户,但我仍然需要弄清楚为什么光滑尝试与匿名用户连接。现在,application.conf的合理部分是:

slick.dbs.default.profile = "slick.jdbc.MySQLProfile$"
slick.dbs.default.db = {
  url="jdbc:mysql://xxx.xxx.us-west-2.rds.amazonaws.com/metamusic"
  host="xxx.xxx.us-west-2.rds.amazonaws.com"
  driver="com.mysql.jdbc.Driver"
  username=aa_admin
  password="password"
  keepAliveConnection = true
  connectionPool = disabled
}

4 个答案:

答案 0 :(得分:0)

尝试

mysql -u root -p

CREATE USER '<<username>>'@'%%' IDENTIFIED BY '<<password>>';
GRANT ALL PRIVILEGES ON * . * TO '<<username>>'@'%%';
FLUSH PRIVILEGES;

尝试登录MYSQL

答案 1 :(得分:0)

在您发布的应用程序配置中,您拥有用户名root。假设这是数据库身份验证凭据,您可能错误地设置了该凭据。 应该使用root的唯一时间是系统管理员,在localhost上。

拥有正确的数据库用户名&amp;配置密码后,您的错误应该消除。

之前发布的授权内容是准确的,但同样......没有人使用&#39; root&#39;。

答案 2 :(得分:0)

对于原始问题:

java.sql.SQLException: Access denied for user ''@'19.345.16.16' (using password: YES)

我同意nitin.sharma0180的回答,这听起来像是MySQL用户权限错误和/或密码在转移到托管数据库的服务器时丢失了。尝试检查您使用的用户是否对数据库和表具有明确的权限,或者由于字符编码而导致密码错误。

如果前一个不起作用,那么它将取决于您如何通过Play 2.6 Framework连接到您的数据库。您使用的是JPA,直接使用JDBC还是其他?要回答这个问题,请检查您的build.sbt,您的application.conf以及正在导入项目的Play 2模块。

答案 3 :(得分:0)

我刚看了一下我们自己的配置,但事情有点不同:

A

注意default.db vs db.default。