这是我第一次使用与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用户=名为myUsername&安培;密码=输入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都不起作用。我使用这些说明配置&部署我的应用程序。
所有人都非常感谢。
多诺万
答案 0 :(得分:2)
消除过程。您是否尝试从EC2终端连接到RDS?
mysql -h aatxmz44i5auf0.cqp6ibnaxohn.eu-west-1.rds.amazonaws.com -u myusername -p
答案 1 :(得分:0)
您需要根据Amazon docs.创建RDS数据库安全组。正确配置的组将允许您通过mysql或telnet服务器的telnet访问RDS实例:
mysql -h <rds_endpoint> -umy_username -pmy_password
答案 2 :(得分:0)
我有同样的问题。对我来说,问题是pwd中的特殊字符。为了进行测试,请尝试更新pwd并从中跳过所有特殊字符。 之后应该可以正常工作。我可以使用此解决方案解决它。