我有一个旧版 Coldfusion 应用程序,我正在尝试将本地 mySQL 数据库迁移到 AWS RDS MySQL。迁移工作非常顺利,数据源名称 (DSN) 的设置和测试也表明成功。但是现在当应用程序尝试查询数据库(只是一个 SELECT 语句)时,我收到以下错误:
用户“foobar”@“%”的访问被拒绝(使用密码:YES)
该用户是RDS上设置的管理员用户。我可以从命令提示符登录到 RDS mySQL 服务器并执行应用程序尝试使用的相同查询;所以我知道这不是连接问题。
提前致谢
从 CLI 远程进入数据库并检查用户上的
GRANTS
foobar
:
show GRANTS for 'foobar';
这将显示用户的权限,并从中
host
他们可以访问这些权限。
发布的错误消息表示用户
foobar
正在尝试从 %
(任何地方)进行连接。我不确定 AWS 是否允许“随处”访问其数据库。您可能需要根据 CF 服务器的 IP 更新用户的 host
地址。还可能需要调查 AWS 防火墙权限。