ubuntu16.04连接postgresql数据库问题解决

该博客介绍了如何解决在Ubuntu虚拟机中遇到的无法连接到5433端口的问题。错误信息显示为'could not connect to server: Connection refused'。解决方案包括检查防火墙状态并开启,然后允许特定IP通过防火墙访问5433端口,通过telnet测试连接。博主提供了一套详细的命令行操作步骤,并确认该方法有效。
摘要由CSDN通过智能技术生成

错误信息:

psycopg2.OperationalError: could not connect to server: Connection refused
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

问题分析:

  1. 该问题是由于ubuntu虚拟机未对外部开放5433端口(该端口对应你自己的端口号)导致的,这里要开启这个端口的外部访问权限

解决办法:

1. 开启ubuntu虚拟机的防火墙,如果已经是开启状态,此步可省略:

# 查看防火墙状态:
dodo@ubuntu:/etc/iproute2$ sudo ufw status 
Status: inactive

# 开启防火墙:
dodo@ubuntu:/etc/iproute2$  sudo ufw enable
Firewall is active and enabled on system startup

dodo@ubuntu:/etc/iproute2$ sudo ufw status
Status: active

 2. 添加端口访问权限:

# 允许外部访问5433端口(这个直接设置端口号的方法我试过没有效果,但是下面的添加ip访问权限的有效,可根据情况自行尝试)
dodo@ubuntu:/etc/iproute2$ sudo ufw allow 5433
Rule added
Rule added (v6)

# 允许指定IP访问所有的本机端口(这里的10.160.xx.xx我设置的为本地window环境下的ip路径)
dodo@ubuntu:/etc/iproute2$ sudo ufw allow from 10.160.xx.xx
Rule added

# 尝试是否连通上述指定的ip
dodo@ubuntu:/etc/iproute2$ telnet 10.160.xx.xx 5433
Trying 10.160.xx.xx...
Connected to 10.160.xx.xx.
Escape character is '^]'.
Connection closed by foreign host.

如图:

我用添加ip的方式可以连通指定的ip和端口

完成以上步骤就可以解决could not connect to server: Connection refused的问题

本人测试有效,供参考!!!


备注:以下为一些备用命令

# 关闭防火墙:
dodo@ubuntu:~$ sudo ufw disable

# 禁止外部访问5433端口
dodo@ubuntu:~$ sudo ufw delete allow 5433

# 禁止外部访问smtp服务
dodo@ubuntu:~$ sudo ufw deny smtp 

# 删除上面建立的某条规则
dodo@ubuntu:~$ sudo ufw delete allow smtp 

# 拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
dodo@ubuntu:~$ sudo ufw deny proto tcp from 10.160.0.0/8 to 192.168.0.1 port 22 

# ip及端口检测
dodo@ubuntu:~$ nc -zv 192.168.x.xx 22

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值