RDS实例连接失败怎么办 您所在的位置:网站首页 连接失败错误7207怎么办 RDS实例连接失败怎么办

RDS实例连接失败怎么办

2024-07-18 06:30| 来源: 网络整理| 查看: 265

排除数据库实例异常

检查办法:请在控制台检查云实例状态是否为“正常”。

可能原因:关系型数据库系统故障,实例状态异常,实例或表被锁定等。

解决方案:如果实例状态为“异常”,请尝试重启。

图2 检查实例状态

使用正确的客户端连接方式

建议安装不低于数据库实例版本的引擎客户端。

内网和公网连接实例的具体操作步骤,请参见外部服务器能否访问RDS数据库。

表1 客户端连接方式

连接方式

使用场景

连接样例

内网方式

系统默认提供内网IP地址。

当应用部署在ECS上,且该ECS与RDS实例处于同一区域,同一VPC时,建议单独使用内网IP连接ECS与RDS实例。

以RDS for MySQL为例:

mysql -h -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

公网方式

不能通过内网IP地址访问RDS实例时,使用公网访问,建议单独绑定弹性公网IP连接ECS(或公网主机)与RDS实例。

用户需要购买弹性公网IP,请参见弹性公网IP计费说明。

以RDS for MySQL为例:

mysql -h -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

使用正确的SSL方式安全连接 (推荐)SSL方式:实例连接管理页面的SSL开关开启,并且上传证书到ECS。

mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

图3 SSL开关开启

普通方式:实例基本信息页面的SSL开关关闭。

mysql -h 172.16.0.31 -P 3306 -u root -p

排除连接命令错误

请获取正确的连接地址、端口参数配置、用户名和密码、SSL方式下命令错误,并重试连接实例。

SSL内网连接RDS for MySQL示例:mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

连接地址

目标实例的“连接管理”页面,“内网连接”页签的“内网地址”。

图4 内网地址

数据库端口

目标实例的“连接管理”页面,“内网连接”页签的“数据库端口”。

用户名和密码

root管理员账号及其对应的密码。

证书名称

SSL证书文件名,该文件需放在执行该命令的路径下。

SSL公网连接RDS for MySQL示例:mysql -h 公网地址 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

连接地址

目标实例的“连接管理”页面,“公网连接”页签的“弹性公网IP”。

图5 弹性公网IP 数据库端口

目标实例的“连接管理”页面,“公网连接”页签的“数据库端口”。

用户名和密码

root管理员账号及其对应的密码。

证书名称

SSL证书文件名,该文件需放在执行该命令的路径下。

排除网络不通 内网访问 检查ECS与RDS是否在同一个区域,VPC。 不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 不同VPC下,请参见ECS和RDS部署在不同的VPC,网络不通怎么办。 图6 查看ECS的VPC 图7 查看RDS的VPC 检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。 图8 ECS的安全组 查看RDS的安全组的入方向规则,需要将ECS实例的IP地址和端口添加到入方向规则。 在ECS上测试是否可以正常连接到RDS实例地址的端口。 telnet 可以通信,说明网络是正常的。 无法通信,请提交工单联系华为云客服协助解决。

公网访问

检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的公网IP地址和端口添加到出方向规则。 图9 ECS的安全组 查看RDS的安全组的入方向规则,需要将ECS实例的IP地址和端口添加到入方向规则。 检查网络ACL规则。 进入虚拟私有云网络ACL列表。 检查EIP绑定的网卡是否在网络ACL关联的子网下。 查看网络ACL当前是“开启”状态还是“关闭”状态。

若网络ACL为“开启”状态,需要添加ICMP放通规则进行流量放通。

注意:网络ACL的默认规则是丢弃所有出入方向的包,关闭“网络ACL”后,其默认规则仍然生效。

相同区域主机进行ping测试。

如果在原ECS上没有ping通RDS实例绑定的EIP,请在相同区域的另一台ECS上去ping该EIP,如果可以正常ping通,说明虚拟网络正常,请提交工单联系华为云客服协助解决。

排除实例的连接数满的情况

检查办法:

通过show variables like '%max%connections%';命令查看实例连接数,示例:

max_connections:允许同时连接的客户端总数。如果设定值为default,表示该参数随内存规格变化,具体请参见RDS数据库实例支持的最大数据连接数是多少。 max_user_connections:特定RDS for MySQL账户允许的最大同时连接数。 查看实例的连接数指标是否已达上限,可查看目标实例的“数据库总连接数”和“当前活跃连接数”,判断是否需要释放连接。

可能原因:数据库连接数过多,可能会导致业务侧无法正常连接,也会导致实例全量备份和增量备份失败,影响业务的正常使用。

解决方案: 请及时排查业务侧连接是否有效,优化实例连接,释放不必要的连接。 如果设定值为default,可以对数据库进行规格扩容,用以提高max_connections的值,具体请参见变更数据库规格。 云监控服务目前可以监控数据库CPU、内存、磁盘、连接数等指标,并且设置告警策略,出现告警时可以提前识别风险。支持的监控指标请参见支持的监控指标。 排除实例的磁盘满的情况 检查办法:磁盘空间使用率可通过管理控制台或云监控服务查看。 通过管理控制台查看

选择目标实例,单击实例名称,进入“基本信息”页面。在“存储空间”模块,查看磁盘使用率。

图10 查看磁盘使用率 通过云监控服务查看

选择目标实例,单击“查看监控指标”,跳转到云监控页面,查看目标实例的磁盘使用率指标。

可能原因及解决方案:请参见RDS实例磁盘满导致实例异常的解决方法。

连接失败的常见报错

通过命令连接数据库实例时,可能出现的报错信息和解决方案如下所示:

ERROR 2013:Lost connection to MySQL server during query

连接超时参数“wait_timeout”和“interactive_timeout”设置过小时,RDS for MySQL会自动断开超时的空连接。具体请参见MySQL客户端连接实例后会自动断开。

ERROR 1045 (28000): Access denied for user 'root'@'192.168.0.30' (using password: YES)

排除是否密码错误问题,确认该主机是否有连接数据库实例的权限,以及RDS for MySQL客户端和实例VIP是否可以连通,具体请参见连接RDS实例失败的常见报错。

ERROR 1226 (42000): User 'test' has exceeded the 'max_user_connections' resource (current value:10)

排查是否限制了实例的连接数,导致连接失败,具体请参见连接RDS实例失败的常见报错。

ERROR 1129 (HY000): Host '192.168.0.111' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

排查是否由于RDS for MySQL客户端连接数据库的失败次数(不包括密码错误),超过了max_connection_errors的值,导致连接失败,具体请参见连接RDS实例失败的常见报错。

[Warning] Access denied for user 'username'@'yourIp' (using password: NO)

连接RDS for MySQL和RDS for PostgreSQL实例时出现该报错,请检查用户名或密码是否正确。

[Warning] Access denied for user 'username'@'yourIp' (using password: YES)

连接RDS for MySQL和RDS for PostgreSQL实例时出现该报错,请检查用户名或密码是否正确。

Login failed for user 'username'

连接RDS for SQL Server实例时出现该报错,请检查用户名或密码是否正确。

如果上述方法均不能解决您的疑问,请提交工单联系华为云客服为您解答。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有