1

这是我第一次使用任何与 AWS 相关的东西。

我有一个包含 Grails 2.1.1 应用程序的战争。DataSource.groovy 被编译为使用

url = System.getProperty("JDBC_CONNECTION_STRING")

检索数据库连接字符串的方法。

在我的 EC2 环境配置中,在 Container 选项卡下,我有以下 JDBC_CONNECTION_STRING 值,其中包含我的 RDS 实例的正确详细信息:

jdbc:mysql://aatxmz44i5auf0.cqp6ibnaxohn.eu-west-1.rds.amazonaws.com/ebdb?user=myusername&password=mypassword

请注意,“mysername”不等于“sa”。

应用程序启动后,快照日志返回堆栈跟踪错误,根本原因如下:

Caused by: java.sql.SQLException: Access denied for user 'sa'@'ip-10-226-5-172.eu-west-1.compute.internal' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:951)
    at ...

关于为什么我指定的 JDBC 连接 URL 不起作用的任何想法。我使用这些说明来配置和部署我的应用程序。

非常感谢所有帮助。

多诺万

4

3 回答 3

2

排除法。您是否尝试过从 EC2 终端连接到 RDS?

mysql -h aatxmz44i5auf0.cqp6ibnaxohn.eu-west-1.rds.amazonaws.com -u myusername -p

于 2013-04-21T11:38:26.160 回答
0

您需要根据Amazon 文档创建 RDS 数据库安全组。正确配置的组将允许您从 Grails 服务器通过 mysql 或 telnet 访问 RDS 实例:

mysql -h <rds_endpoint> -umy_username -pmy_password
于 2013-04-18T03:57:06.693 回答
0

我有同样的问题。对我来说,问题是密码中的特殊字符。对于测试,请尝试更新密码并从中跳过所有特殊字符。之后它应该可以正常工作。我能够用这个解决方案解决它。

于 2020-07-08T16:00:32.910 回答