切换产品类型
您可以点击下拉框切换本产品的不同产品类型,帮助您更高效地阅读文档。
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 内核介绍
- 用户指南
- 最佳实践
- 性能白皮书
-
常见问题
-
产品咨询
- 使用RDS要注意些什么
- RDS实例是否会受其他用户实例的影响
- 不同RDS实例的CPU和内存是否共享
- 创建RDS for MySQL实例需要多长时间
- 为何使用了RDS后网站登录较慢
- 为什么新购买实例比规格变更实例价格便宜
- 主备同步存在多长时间的延迟
- 多台弹性云服务器是否可以使用同一个RDS数据库
- RDS for MySQL购买磁盘加密后,备份文件会加密吗
- 什么是RDS实例可用性
- 云数据库RDS支持跨AZ高可用吗
- RDS是否支持主备实例变更为单机实例
- RDS for MySQL与TaurusDB的区别
- 为什么无法找到云数据库RDS实例
- 云数据库RDS是否支持CloudPond
- RDS for MySQL实例支持哪些加密函数
- RDS for MySQL是否兼容MariaDB
- RDS for MySQL是否支持TokuDB
- RDS for MySQL开启GTID后有哪些限制
- RDS for MySQL是否有单表尺寸限制
- 登录RDS实例时能使用加密密码认证吗
- RDS实例内网IP和私有IP的区别
- 找不到我的RDS资源怎么办
- 资源冻结/释放/停止/删除/退订
- 资源及磁盘管理
- 数据库连接
- 数据库迁移
- 数据库权限
- 数据库存储
- 数据库基本使用
- 备份与恢复
- 只读实例和读写分离
- 数据库监控
- 扩容及规格变更
- 数据库参数修改
- 日志管理
- 网络安全
- 版本升级
- RDS API&SDK等开发者相关
-
产品咨询
-
故障排除
- 备份恢复
- 主备复制
- 参数类
-
性能资源类
- CPU使用率高问题排查与优化
- 内存使用超限风险与优化
- 磁盘性能带宽超上限
- 联合索引设置不当导致慢SQL
- 数据库磁盘满导致被设置read_only
- Binlog未清理导致磁盘占用高
- 业务死锁导致响应变慢
- MySQL只读实例磁盘占用远超主实例
- RDS for MySQL CPU升高定位思路
- 冷热数据问题导致sql执行速度慢
- CPU/内存配置与TPS和QPS性能相关的问题
- 表碎片率过高可能导致的问题
- 复杂查询造成磁盘满
- 怎么解决查询运行缓慢的问题
- 长事务导致规格变更或小版本升级失败
- RDS for MySQL数据库报错Native error 1461的解决方案
- RDS for MySQL增加表字段后出现运行卡顿现象
- 长事务导致UNDO增多引起磁盘空间满
- RDS for MySQL如何定位一直存在的长事务告警
- RDS for MySQL部分SQL的commit时间偶现从几毫秒陡增到几百毫秒
- 本地SSD盘规格降配选不到资源
- ibdata1为什么会变大
-
SQL类
- RDS for MySQL执行SQL报错无法识别双引号
- 更新emoji表情数据报错Error 1366
- 索引长度限制导致修改varchar长度失败
- 建表时timestamp字段默认值无效
- 自增属性AUTO_INCREMENT为什么未在表结构中显示
- 存储过程和相关表字符集不一致导致执行缓慢
- RDS MySQL报错ERROR [1412]的解决方法
- 创建二级索引报错Too many keys specified
- 存在外键的表删除问题
- distinct与group by优化
- 字符集和字符序的默认选择方式
- MySQL创建用户提示服务器错误
- delete大表数据后,再次查询同一张表时出现慢SQL
- 设置事件定时器后未生效
- 为什么有时候用浮点数做等值比较查不到数据
- 开通数据库代理后有大量select请求分发到主节点
- 执行RENAME USER失败的解决方法
- 有外键的表无法删除报错ERROR[1451]的解决方案
- 表字段类型转换失败的解决方法
- RDS for MySQL创建表失败报错Row size too large的解决方案
- RDS for MySQL数据库报错ERROR [1412]的解决方案
- 外键使用不规范导致实例重启失败或执行表操作报错ERROR 1146: Table 'xxx' doesn't exist
- RDS for MySQL在分页查询时报错:Out of sort memory, consider increasing server sort buffer size
- RDS for MySQL创建用户报错:Operation CREATE USER failed
- RDS for MySQL使用grant授权all privileges报语法错误
- RDS for MySQL 5.6版本实例创建表报错
- 无主键表添加自增主键后导致主备节点查询数据不一致
- RDS for MySQL插入数据提示Data too long for column
-
连接类
- 连接数据库报错Access denied
- mariadb-connector SSL方式连接数据库失败
- RDS for MySQL建立连接慢导致客户端超时报connection established slowly
- root账号的ssl_type修改为ANY后无法登录
- 通过DAS登录实例报错Client does not support authentication protocol requested by server
- 通过DAS授权或取消授权时报错Your password does not satisfy the current policy requirements
- 客户端TLS版本与RDS for MySQL不一致导致SSL连接失败
- 使用root账号连接数据库失败
- RDS for MySQL客户端连接实例后会自动断开
- RDS for MySQL实例无法访问
- RDS for MySQL数据库修改authentication_string字段为显示密码后无法登录
- RDS for MySQL升级版本后,导致现有配置无法正常连接到MySQL-server
- 客户端超时参数设置不当导致连接超时退出
- RDS for MySQL在启用了SSL验证连接功能后,导致代码(php/java/python)等连接数据库失败
- istio-citadel证书机制导致每隔45天出现断连
- 数据库版本升级后Navicat客户端登录实例报错1251
-
其他使用问题
- 慢日志显示SQL语句扫描行数为0
- SQL诊断结果中记录的行数远小于慢日志中的扫描行数
- RDS for MySQL慢日志里面有毫秒级别的SQL
- 查看RDS存储空间使用量
- 错误日志报错The table is full
- 审计日志上传策略说明
- 自增字段取值
- 表的自增AUTO_INCREMENT初值与步长
- 表的自增AUTO_INCREMENT超过数据中该字段的最大值加1
- 自增字段值跳变的原因
- 修改表的自增AUTO_INCREMENT值
- 自增主键达到上限,无法插入数据
- 空用户的危害
- pt-osc工具连接RDS for MySQL主备实例卡住
- 购买RDS实例支付报错:Policy doesn't allow bss:order:update to be performed
- RDS for MySQL是否可以修改数据库名称
- 购买RDS实例报错:无IAM的agency相关权限
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
RDS实例连接失败怎么办
操作视频
问题分析
主要从八个方面考虑:
- 排除数据库实例异常
例如:关系型数据库系统故障,实例状态异常,实例或表被锁定。
- (常见)使用正确的客户端连接方式
- 内网连接需要RDS与ECS实例必须在同一区域、VPC内。
- 公网连接需要购买或使用已有EIP,并对RDS实例绑定该EIP 。
- 使用正确的SSL方式安全连接
界面SSL开关开启和关闭,分别对应不用的连接命令。例如:
- 开关开启:mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
- 开关关闭:mysql -h 172.16.0.31 -P 3306 -u root -p
- 排除连接命令错误
例如:连接地址错误、端口参数配置错误、用户名和密码错误、SSL方式下命令错误。
- (常见)排除网络不通
内网访问
- 确认ECS与RDS是否在同一个区域,VPC。
- 检查安全组规则。
安全组外访问安全组内的RDS实例时,需要为安全组添加相应的入方向规则。
- 在ECS上测试是否可以正常连接到RDS实例地址的端口。
公网访问
- 检查安全组规则。
安全组外访问安全组内的RDS实例时,需要为安全组添加相应的入方向规则。
- 检查网络ACL规则。
- 相同区域主机进行ping测试。
- (常见)排除实例的连接数满的情况
实例连接数过多,可能会导致业务侧无法正常连接。
- (常见)排除实例的磁盘满的情况
当实例处于“磁盘空间满”状态时,影响数据的正常读写操作。
- 连接失败的常见报错
包含连接失败的常见报错,以及相应的解决方法。
排查思路

- 排除数据库实例异常
检查办法:请在控制台检查云实例状态是否为“正常”。
可能原因:关系型数据库系统故障,实例状态异常,实例或表被锁定等。
解决方案:如果实例状态为“异常”,请尝试重启。
图2 检查实例状态 - 使用正确的客户端连接方式
表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 <弹性公网IP> -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
- 使用正确的SSL方式安全连接
- 排除连接命令错误
请获取正确的连接地址、端口参数配置、用户名和密码、SSL方式下命令错误,并重试连接实例。
SSL内网连接RDS for MySQL示例:mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
SSL公网连接RDS for MySQL示例:mysql -h 公网地址 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
- 排除网络不通
内网访问
- 检查ECS与RDS是否在同一个区域,VPC。
- 不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
- 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
图6 查看ECS的VPC图7 查看RDS的VPC - 检查安全组规则。
- 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。
图8 ECS的安全组
- 查看RDS的安全组的入方向规则,需要将ECS实例的IP地址和端口添加到入方向规则。
- 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。
- 在ECS上测试是否可以正常连接到RDS实例地址的端口。
公网访问
- 检查安全组规则。
- 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的公网IP地址和端口添加到出方向规则。
图9 ECS的安全组
- 查看RDS的安全组的入方向规则,需要将ECS实例的IP地址和端口添加到入方向规则。
- 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的公网IP地址和端口添加到出方向规则。
- 检查网络ACL规则。
- 进入虚拟私有云网络ACL列表。
- 检查EIP绑定的网卡是否在网络ACL关联的子网下。
- 查看网络ACL当前是“开启”状态还是“关闭”状态。
若网络ACL为“开启”状态,需要添加ICMP放通规则进行流量放通。
注意:网络ACL的默认规则是丢弃所有出入方向的包,关闭“网络ACL”后,其默认规则仍然生效。
- 相同区域主机进行ping测试。
如果在原ECS上没有ping通RDS实例绑定的EIP,请在相同区域的另一台ECS上去ping该EIP,如果可以正常ping通,说明虚拟网络正常,请提交工单联系华为云客服协助解决。
- 检查ECS与RDS是否在同一个区域,VPC。
- 排除实例的连接数满的情况
检查办法:
- 通过show variables like '%max%connections%';命令查看实例连接数,示例:
- max_connections:允许同时连接的客户端总数。如果设定值为default,表示该参数随内存规格变化,具体请参见RDS数据库实例支持的最大数据连接数是多少。
- max_user_connections:特定RDS for MySQL账户允许的最大同时连接数。
- 查看实例的连接数指标是否已达上限,可查看目标实例的“数据库总连接数”和“当前活跃连接数”,判断是否需要释放连接。
可能原因:数据库连接数过多,可能会导致业务侧无法正常连接,也会导致实例全量备份和增量备份失败,影响业务的正常使用。
- 通过show variables like '%max%connections%';命令查看实例连接数,示例:
- 排除实例的磁盘满的情况
检查办法:磁盘空间使用率可通过管理控制台或云监控服务查看。
可能原因及解决方案:请参见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)
- [Warning] Access denied for user 'username'@'yourIp' (using password: YES)
- ERROR 2013:Lost connection to MySQL server during query
- 如果上述方法均不能解决您的疑问,请提交工单联系华为云客服为您解答。