RDS MySQL ERROR 1045(28000):从EC2

时间:2018-04-03 21:45:46

标签: mysql amazon-web-services amazon-ec2 amazon-rds

我有一个EC2实例,我正在尝试连接到RDS(mySQL)实例。

我创建了一个名为mydbinstance的RDS mySQL实例,用户:mysuperuser和一个通用的8个字符(mypassword),仅用于测试目的。

  

虚拟私有云:默认   (与EC2的位置相同)

     

子网组:默认

     

公共辅助功能:数据库实例不具有公共IP   分配的地址。在VPC之外没有EC2实例或设备   能够连接。

     

可用区:无偏好

     

VPC安全组:创建新的VPC安全组

     

IAM数据库身份验证:已禁用

我将RDS实例添加到与EC2实例相同的VPC中,因此它位于同一区域。

dbinstance正在使用新的安全组:

  

类型:自定义TCP规则协议:TCP端口:3306 CIDR:174.62.127.135/32

此IP地址来自哪里?我没有在实例化中指定任何内容......

接下来,我ssh到我的EC2实例(位于同一个VPC中的实例),然后尝试:

$ mysql -h mydbinstance.$(RDS_INSTANCE).us-west-2.rds.amazonaws.com -P 3306 -u mymasteruser -p

我在提示符处输入了mypassword(我之前指定的那个),我得到了:

  

错误1045(28000):拒绝访问用户' mymasteruser' @' localhost'   (使用密码:是)

我尝试使用ifconfig获取EC2框的IP地址,并更新了RDS使用的安全组IP地址(我上面想知道的那个)。同样的结果,没有运气连接。从那以后,我一直在谷歌搜索答案。

我有什么其他选择来调试这个?我很感激任何建议。

更新

我可以通过笔记本电脑运行此功能(通过将数据库Public Access更改为YES):

mysql -h mydbinstance.$(RDS_INSTANCE).us-west-2.rds.amazonaws.com -P 3306 -u mymasteruser -p
  

发现0个关联找到1个连接:

found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif en3
    src 192.168.86.33 port 55863
    dst xx.xxx.xxx.xxx port 3306
    rank info not available
    TCP aux info available

但是我无法从我的EC2实例获得任何输出。它挂了!与我运行netcat(nc)命令的原因相同。为什么这不适用于我的EC2实例?

1 个答案:

答案 0 :(得分:0)

我在aws论坛上找到了金块后,我能够使它工作。如果有人偶然发现同一问题,请将其发回此处:

  

&#34;要连接到MySQL,您必须授权IP   您计划连接到MySQL的主机的地址。您   还应撤销您当前授权的CIDR的访问权限。   如果您不知道计算机的IP地址,可以看到它   访问网站http://checkip.amazonaws.com/。请注意,你会   必须在此末尾添加“/ 32”才能将IP地址转换为a   仅包含该IP地址的CIDR。例如,如果您的IP   地址是192.0.2.10,您应该授权访问CIDR   192.0.2.10/32。