【发布时间】:2014-06-16 05:23:36
【问题描述】:
在新的 Scala Play Slick 应用程序中难以连接到 AWS MySQL 数据库。我可以从 MySQL Workbench 连接到数据库。
application.conf 包含:
db.default.user=myusername
db.default.password=mypassword
db.default.driver=com.mysql.jdbc.Driver
问题可能出在 db.default.url=
MySQL Workbench 复制 JDBC 连接字符串命令产生:
"jdbc:mysql://sperch-dev.coafgaprx2uf.us-east-1.rds.amazonaws.com:3306/?user=myusername"
按照 MySQL Workbench 的建议,在此处包含“user=”似乎与 db.default.user 是多余的,无论如何我都会收到错误消息“[SQLException: No database selected]”,不管有没有它。
在别处看到 db.default.url 的模式为:
"jdbc:mysql://localhost:3306/DATABASENAME?characterEncoding=UTF-8"
我尝试添加数据库名称:
"jdbc:mysql://sperch-dev.coafgaprx2uf.us-east-1.rds.amazonaws.com:3306/sperch-dev?characterEncoding=UTF-8"
但这会生成错误消息: "无法连接到数据库 [默认]"
我的 db.default.user 和 db.default.password 与 MySQL Workbench 中的工作连接相同。
有什么建议吗?
【问题讨论】:
-
您是否将 AWS RDS MySQL 实例分配给允许外部访问的安全组?尝试使用机器上的 mysql 命令行工具连接到它,看看是否可行。
-
感谢您的建议。但是,我能够从 MySQL 工作台和命令行工具进行连接。 AWS RDS 实例是允许我的 IP 的安全组的一部分。但是,在本地运行 Play 应用程序时,仍然会报错:“[SQLException: No database selected]”,使用上面指定的连接参数并使用 play-slick。
-
也许可以尝试其他一些基于 jdbc 的产品,例如SquirreLSQL 并查看连接字符串是否在那里工作..
标签: mysql scala amazon-web-services playframework-2.0 slick