问题描述
连接RDS实例时,提示以下其中一种错误信息:
ERROR 1045 (HY000): #28000ip not in whitelist
ERROR 2801 (HY000): #RDS00ip not in whitelist, client ip is XXX
解决方案
参考以下方法解决问题:
白名单中只有默认地址127.0.0.1。该地址表示不允许任何设备访问RDS实例。需在白名单中添加设备的IP地址,具体操作请参见设置白名单。
白名单设置成了
0.0.0.0
。正确格式应该为0.0.0.0/0
。说明该地址允许任何设备访问RDS实例,请谨慎使用。
如果开启了高安全白名单模式,需进行以下检查:
如果使用的是专有网络的内网连接地址,请确保ECS内网IP地址添加到了专有网络的分组。
如果使用的是经典网络的内网连接地址,请确保ECS内网IP地址添加到了经典网络的分组。
如果通过公网连接,请确保设备公网IP地址添加到了经典网络的分组,专有网络的分组不适用于公网。
您在白名单中添加的设备公网IP地址可能并非设备真正的出口IP地址。原因如下:
公网IP地址不固定,可能会变动。
IP地址查询工具或网站查询的公网IP地址不准确。
说明关于确认设备公网IP地址的方法,请参见以下链接。
如果您将ECS服务器或本地服务器的IP地址填入数据库白名单后,从这些服务器上连接数据库时,仍然提示“ip not in whitelist”错误,则有可能是因为ECS服务器或自建服务器在连接到数据库时经过代理服务器,最终到达数据库的IP地址是代理机的IP地址。此时应该将白名单设置为ECS服务器的出口IP地址,或设置为自建服务器的出口代理服务器IP地址。
适用于
云数据库RDS MySQL版
云数据库RDS SQL Server版
云数据库RDS PostgreSQL版