GaussDB实例连接失败怎么办
问题分析
主要从以下几个方面考虑:
- 排除数据库实例异常
例如:数据库系统故障,实例状态异常,实例或表被锁定。
- (常见)使用正确的客户端连接方式
- 内网连接需要GaussDB与ECS实例必须在同一区域、VPC。
- 公网连接需要创建或使用已有EIP,并对GaussDB实例绑定该EIP 。
- 排除连接命令错误
例如:连接地址错误、端口参数配置错误、用户名和密码错误。
- (常见)排除网络不通
内网访问
- 确认ECS与GaussDB是否在同一个区域,VPC。
- 检查安全组规则。
安全组外访问安全组内的GaussDB实例时,需要为安全组添加相应的入方向规则。
- 在ECS上测试是否可以正常连接到GaussDB实例地址的端口。
公网访问- 检查安全组规则。
安全组外访问安全组内的GaussDB实例时,需要为安全组添加相应的入方向规则。
- 检查网络ACL规则。
- 相同区域主机进行ping测试。
- (常见)排除实例的磁盘满的情况
当实例处于“磁盘空间满”状态时,影响数据的正常读写操作。
排查思路
- 排除数据库实例异常
检查办法:请在控制台检查云实例状态是否为“正常”。
可能原因:数据库系统故障,实例状态异常,实例或表被锁定等。
解决方案:如果实例状态为“异常”,请尝试重启。
- 使用正确的客户端连接方式
内网和公网连接实例的具体操作步骤,请参见外部服务器能否访问GaussDB数据库。
表1 客户端连接方式 连接方式
使用场景
连接样例
内网方式
系统默认提供内网IP地址。
当应用部署在弹性云服务器上,且该弹性云服务器与GaussDB实例处于互通的两个VPC时,建议单独使用内网IP连接弹性云服务器与GaussDB实例。
以连接postgres库为例:
gsql -d postgres -h 10.0.0.0 -U root -p 8000
说明:postgres为需要连接的数据库名称,10.0.0.0分布式为CN的IP地址,集中式为主DN的IP地址,root为登录数据库的用户名,8000为CN或主DN的端口号。
公网方式
不能通过内网IP地址访问GaussDB实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与GaussDB实例。
以连接postgres库为例:
gsql -d postgres -h 10.0.0.0 -U root -p 8000
说明:postgres为需要连接的数据库名称,10.0.0.0为实例绑定的公网IP地址,root为登录数据库的用户名,8000为实例的端口号。
- 排除连接命令错误
请获取正确的连接地址、端口参数配置、用户名和密码,并重试连接实例。
- 排除网络不通
内网访问
- 检查ECS与GaussDB是否在同一个区域,VPC。
- 检查安全组规则。
- 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将GaussDB实例的内网IP地址和端口添加到出方向规则。
- 查看GaussDB的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的IP地址和端口添加到入方向规则。
- 在ECS上测试是否可以正常连接到GaussDB实例地址的端口。
公网访问- 检查安全组规则。
- 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将GaussDB实例的公网IP地址和端口添加到出方向规则。
- 查看GaussDB的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的IP地址和端口添加到入方向规则。
- 相同区域主机进行ping测试。
- 排除实例的磁盘满的情况
检查办法:磁盘空间使用率可通过管理控制台或云监控服务查看。
- 通过云监控服务查看
选择目标实例,单击“查看监控指标”,跳转到云监控页面,查看目标实例的磁盘使用率指标。
可能原因:内核监测到磁盘使用量超过阈值会将实例设置为只读,无法再写入数据,实例进入盘满只读状态。应用无法对GaussDB数据库进行写入操作,从而影响业务正常运行。
解决方案:请参见磁盘扩容。
- 通过云监控服务查看
浙公网安备 33010602011771号