概述
本文主要介绍如何排查无法连接RDS实例的问题。
详细信息
您可以从以下五个方面排查问题:
排查流程图
步骤一:检查实例状态和实例连接信息
- 登录云数据库RDS控制台,在实例列表中查看实例状态,确认实例状态正常,排查实例状态异常或者被锁定等问题,若实例被锁定,请参见MySQL实例空间满后自动锁定的排查方法。在实例锁定期间,应用无法对RDS数据库进行读写操作。如果业务允许,可尝试重启实例,请谨慎操作。
- 在连接数据库的代码或工具中,检查连接数据库的信息是否正确(确认内网和外网地址),详情请参见如何连接RDS数据库。
步骤二:检查白名单设置正确
确保已将正确的本地设备IP地址添加到RDS的IP白名单。请在数据库的白名单中临时添加0.0.0.0/0
,如果设置后可以正常访问,说明是白名单设置存在问题。请删除0.0.0.0/0
白名单,将正确的IP添加到白名单中。白名单的注意事项请参见以下内容,具体添加白名单操作请参见设置白名单。
- 由于在
127.0.0.1
。该地址表示不允许任何设备访问RDS实例。因此需在白名单中添加对端ECS实例的IP地址。
中只有默认地址 - 白名单设置成了
0.0.0.0
,正确格式为0.0.0.0/0
。
说明:0.0.0.0/0
表示允许任何设备访问RDS实例,请谨慎使用。
- 请检查是否开启了高安全白名单模式,具体请参见高安全白名单模式。如果已开启,请进行以下检查:
- 如果使用的是专有网络的内网连接地址,请确保ECS内网IP地址添加到了专有网络的分组。
- 如果使用的是经典网络的内网连接地址,请确保ECS内网IP地址添加到了经典网络的分组。
- 如果通过公网连接,请确保设备公网IP地址添加到了经典网络的分组(专有网络的分组不适用于公网)。
- 您在白名单中添加的设备公网IP地址可能并非设备真正的出口IP地址。原因如下:
- 公网IP地址不固定,可能会变动。
- IP地址查询工具或网站查询的公网IP地址不准确,解决办法请参见以下内容:
步骤三:检查数据库性能
通过查看RDS实例的性能监控,确定是否存在实例资源不足的情况。
- 当前数据库的连接数检查。
- 连接数满通常是由于空闲连接过多或活动连接过多,请参见主实例规格列表,确认实例规格对应的最大连接数据。
- 检查代码中的连接设置是否合理,是否存在大部分连接没有及时关闭,进而消耗RDS资源,最终引发连接数满的情况。具体原因及解决办法请参见RDS MySQL版连接数满情况的处理或RDS PostgreSQL版连接数满情况的处理。
- 如是业务正常增长,建议您对实例进行配置升级。
说明:升配过程中可能会有一次30s左右的闪断,建议用户做好连接重连机制,保证用户业务的正常运行,具体信息请参见RDS使用须知。
- 检查网络流量是否正常,是否存在网络流量占用很高的情况。如存在此情况,请参见查看慢日志明细,查看慢日志,根据查询结果优化慢SQL。
- 其他性能问题请参见解决CPU、内存、空间、IOPS使用率偏高的问题。
步骤四:检查客户端
您可以尝试使用其他方式连接数据库,确认是否是当前客户端工具问题,详情请参见连接MySQL实例。
ECS实例无法通过内网访问RDS实例
若是ECS实例无法通过内网访问RDS实例,您可以参见解决无法连接RDS实例的问题解决问题。
适用于
- 云数据库RDS