【云小课】【第17课】RDS实例连接又失败?看我祭出杀手锏!

举报
数据库的小云妹 发表于 2020/10/29 10:02:56 2020/10/29
【摘要】 自从购买了RDS实例,连接失败的问题就伴随着我,我真是太难了。不要害怕,不要着急,跟着小云妹,读了本篇云小课,让你风里雨里,实例连接自此畅通无阻! 顺着以下几个方面进行排查,问题就可以迎刃而解~

云小课logo.png


小A:我的实例连接失败了,但就是找不出原因

小B:我的实例刚还行,怎么忽然就连不上了

小C:我的…… 云小课-表情图标.png

自从购买了RDS实例,连接失败的问题就伴随着我,我真是太难了。不要害怕,不要着急,跟着小云妹,读了本篇云小课,让你风里雨里,实例连接自此畅通无阻!

顺着以下几个方面进行排查,问题就可以迎刃而解~

云数据库RDS实例为什么连接不上---云小课的图.png



1.     排除数据库实例异常

关系型数据库系统故障,实例状态异常,实例或表被锁定都可能会导致实例异常,可以尝试实例重启功能解决。

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

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

云小课-表格图标.PNG

3.     使用正确的SSL方式安全连接

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

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

云小课-SSL方式.png


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

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

4.     排除连接命令错误

包括连接地址、端口参数配置、用户名和密码、SSL方式错误,请正确配置参数项,并重试连接实例。

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

o    连接地址

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

云小课-SSL内网.png


o    数据库端口

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

o    用户名和密码

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

o    证书名称

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

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

o    连接地址

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

云小课-SSL公网.png


o    数据库端口

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

o    用户名和密码

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

o    证书名称

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

5.     排除网络不通

内网访问

            1).检查ECS与RDS是否在同一个区域,VPC。

不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

不同VPC下,支持将ECS的虚拟私有云切换为与RDS实例一致,或使用VPC对等连接,为两个不同的虚拟私有云建立对等连接,实现内网互通

            2).检查安全组规则。

安全组外访问安全组内的RDS实例时,需要为安全组添加相应的入方向规则。

            3).在ECS上测试是否可以正常连接到RDS实例地址的端口。

telnet <连接地址> <端口号>

公网访问

            1).检查安全组规则。

安全组外访问安全组内的RDS实例时,需要为安全组添加相应的入方向规则。

            2).检查网络ACL规则。

            进入虚拟私有云网络ACL列表,确认EIP绑定的网卡在网络ACL关联的子网下,并查看网络ACL状态。如果为“开启”,需要添加ICMP放通规则进行流量放通。

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

如果在原ECS上没有ping通RDS实例绑定的EIP,请在相同区域的另一台ECS上去ping该EIP,如果可以正常ping通,说明虚拟网络正常。

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

            1).查看实例的连接数指标是否已达上限。

            2).请及时排查业务侧连接是否有效,优化实例连接,释放不必要的连接。

            3).云监控服务目前可以监控数据库CPU、内存、磁盘、连接数等指标,并且设置告警策略,出现告警时可以提前识别风险。

7.     连接失败的常见报错

o    ERROR 2013:Lost connection to MySQL server during query

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

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

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

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

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

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

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

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

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

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

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

o    Login failed for user 'username'

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

云数据库RDS不但支持客户端方式连实例,还对接了DAS服务,使用DAS可视化界面连接并管理数据库,安全又简单。

赶紧戳这里云小课-单击图标.png,了解详情吧~~


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。