antdb数据库连接时,出现“adb: could not connect to server: Connection refused”。

0 dehydration 1年前 487次点击

问,antdb数据库连接时,出现“adb: could not connect to server: Connection refused”是什么情况?

共 1 条评论
shenlan 1年前
0 

解决方式

为安全起见,默认禁用了远程连接访问功能,只允许localhost连接。那么,如何启用该功能呢?
为了启用网络或者远程访问功能,我们需要在postgresql.conf文件中添加或者编辑下列内容:
  listen_addresses = '*'
在adb_hba.conf添加如下内容,以便允许用户通过某种method来访问数据库:

TYPE DATABASE USER CIDR-ADDRESS METHOD

host all all 10.20.21.0/24 trust

postgresql.conf
配置项 说明
listen_addresses = ‘’ listen_addresses指定了要侦听的IP地址。默认只监听localhost的地址,也就是禁止远程服务器来访问。在大多数情况下,我们会接受所有主机的连接,所以可以使用“”,它表示所有IP地址。如果只接受指定ip的连接,则在adb_hba.conf进行配置。

adb_hba.conf
配置项 说明
TYPE Type = host表示远程连接。Type = local表示本地Unix domain socket连接。
DATABASE Database = all 表示所有数据库。其他名字要求严格匹配,还可以规定一个由逗号分隔的数据库列表。
USER User = all 表示所有用户。其他名字要求严格匹配,还可以规定一个由逗号分隔的用户列表。
CIDR-ADDRESS CIDR-ADDRESS 由两部分组成,即IP地址/子网掩码。子网掩码规定了IP地址中前面哪些位表示网络编号。这里/0表示IP地址中没有表示网络编号的位,这样的话全部的IP地址都匹配,例如192.168.0.0/24表示匹配前24位,所以它匹配任何192.168.0.x形式的IP地址。
METHOD Method = trust表示可信认证,允许免密登录。其他的认证方法包括MD5,则要求客户端输入密码验证才能访问数据库

其他的一些可能的原因,如下:

服务端没起来,ps -ef|grep postgres查看是否存在postgres进程
监听问题,cat postgresql.conf|grep listen 查看监听地址是否正确
以上都没问题,服务器端能连进去,但客户端不行,这时需要查看adb_hba.conf
以上都没问题,检查服务器端的iptables,开启防火墙的访问端口
以上都没问题,检查SELINUX,确保SELINUX已关闭

原因说明

按上述说明依次排查

添加一条新评论

登录后可以发表评论 去登录