zoukankan      html  css  js  c++  java
  • 云小课|RDS实例连接又失败?看我祭出杀手锏!

    摘要:自从购买了RDS实例,连接失败的问题就伴随着我,我真是太难了。不要害怕,不要着急,跟着小云妹,读了本文,让你风里雨里,实例连接自此畅通无阻! 顺着以下几个方面进行排查,问题就可以迎刃而解~

    本文分享自华为云社区《【云小课】【第17课】RDS实例连接又失败?看我祭出杀手锏!》,原文作者:数据库的小云妹 。

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

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

    小C:我的……

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

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

    1. 排除数据库实例异常

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

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

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

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

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

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

    • 普通方式:实例基本信息页面的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 连接地址

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

     

    o 数据库端口

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

    o 用户名和密码

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

    o 证书名称

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

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

    o 连接地址

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

    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可视化界面连接并管理数据库,安全又简单。

    赶紧戳这里,了解详情吧~~

     

    点击关注,第一时间了解华为云新鲜技术~

  • 相关阅读:
    Android游戏开发22:Android动画的实现J2me游戏类库用于Android开发
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第三部分,完整代码)
    使用OGR创建dxf格式矢量数据
    mysql 数据库引擎 MyISAM InnoDB 大比拼 区别
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第二部分)
    mysql 更改数据库引擎
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第一部分)
    android 数字键盘使用
    MySQL Innodb数据库性能实践
    eclipse : Error while performing database login with the driver null
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/14921729.html
Copyright © 2011-2022 走看看