【问题标题】:Connecting Scala and Play-Slick to AWS MySQL将 Scala 和 Play-Slick 连接到 AWS MySQL
【发布时间】: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


【解决方案1】:

从 db.default url 中删除端口号和用户名。下面是一个有效的例子。

# Database configuration
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://your-rds-instance.us-west-1.rds.amazonaws.com/DATABASE_SCHEMA_HERE"
db.default.user=user
db.default.pass="password"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2018-05-12
    • 1970-01-01
    • 2015-08-25
    • 2021-05-29
    相关资源
    最近更新 更多