KingbaseES V8R6 运维案例之---数据库连接访问故障分析
KingbaseES V8R6运维案例之---数据库连接访问故障分析
案例说明:
在部署KingbaseES V8R6后,正常启动数据库服务,但是通过ksql连接数据库服务访问时,出现连接到postgresql socket的错误提示,如下图所示:
适用版本:
KingbaseES V8R6
一、问题分析
1、执行ksql远程连接
如下图所示,通过-h参数执行ksql远程连接时,出现以下故障:
2、查看防火墙及sys_hba.conf配置
如下图所示,sys_hba.conf支持ksql的本地socket和远程网络连接,并且如上图所示,防火墙已经关闭。
3、初始化新的实例连接访问
如下图所示,ksql连接错误一致。
4、测试sys_dump工具连接
如下图所示,通过sys_dump连接,与ksql连接访问错误一致。
5、ldd查看ksql动态库链接
如下图所示,正常环境ksql动态库链接,和上面异常环境相比,部分动态库加载位置不同。
二、问题解决
1、配置数据库用户LD_LIBRARY_PATH变量
如下图所示,在.bash_profile配置LD_LIBRARY_PATH变量后,ksql的动态库链接位置发生了变化。
2、执行ksql连接数据库访问正常
三、总结
此次故障由数据库可执行文件动态库的加载而引起,触发了很隐蔽的故障问题,在生产环境,需在数据库用户的.bashrc或.bash_profile文件中配置LD_LIBRARY_PATH参数,避免触发这样的隐蔽故障。
KINGBASE研究院