psql - Mac 尝试连接安装在远程服务器虚拟机中的 Ubuntu 系统中的 postgreSQL
psql - Mac trying to connect postgreSQL in Ubuntu system installed in a virtual machine in remote server
前面说声抱歉,可能这里的情况有点复杂。网上找遍了都没有找到完美的解决办法,而且其他帖子提到的解决办法我几乎都试过了
- 情况:
所以我在 Ubuntu 系统中安装了一个 postgreSQL 数据库。系统其实是VMware workstation 12上的一个虚拟机,安装在Windows7 professional上。现在我正尝试通过我的 MacBook pro 2013 远程访问 postgreSQL 数据库。
在Mac终端中,我试过的命令行是:
psql -U postgres -h xxx.xxx.xxx.xx
"xxx.xxx.xxx.xx"表示Windows7机器的IP地址。结果失败:
psql: could not connect to server: Operation timed out
Is the server running on host "169.254.121.2" and accepting
TCP/IP connections on port 5432?
我做了什么:
- 编辑 pg_hba.conf 文件以包含
host all all 0.0.0.0/0 md5
- 编辑 postgresql.conf 以包含
listen_addresses='*'
- 重新启动 postgres 服务。
- 在主机上禁用防火墙。
- 我在本地检查了 运行 psql 命令,它有效。 此外,在同一个 VMware 上我还有其他 Ubuntu 系统。他们都可以连接并访问此 Ubuntu 系统中的数据。
- 运行 Nmap,输出为
PORT STATE SERVICE
5432/TCP open postgresql
- 下一步是什么?还有什么我可以尝试的吗?非常感谢任何建议,如果以上任何内容不明确,请告诉我。我会澄清以便更好地诊断。谢谢大家!
不知何故设法让它工作..
所以当我 运行 在另一个 Ubuntu 系统上向这个系统“Nmap”时,它确实显示
PORT STATE SERVICE
5432/TCP open postgresql
然而,当我在 Mac 上 运行 “Nmap” 时,它是一个不同的端口,3389,主要用于 Windows 远程桌面。所以我所做的是检查这个 Ubuntu 虚拟机的网络配置,从“bridged”到“NAT”并做了一个端口转发到5432。现在工作正常..
我在一些地方看到说 VMware 支持桥接,而 VirtualBox 支持 NAT+端口转发。我很困惑,因为在我的情况下肯定不是这样。也许我错了。
前面说声抱歉,可能这里的情况有点复杂。网上找遍了都没有找到完美的解决办法,而且其他帖子提到的解决办法我几乎都试过了
- 情况:
所以我在 Ubuntu 系统中安装了一个 postgreSQL 数据库。系统其实是VMware workstation 12上的一个虚拟机,安装在Windows7 professional上。现在我正尝试通过我的 MacBook pro 2013 远程访问 postgreSQL 数据库。
在Mac终端中,我试过的命令行是:
psql -U postgres -h xxx.xxx.xxx.xx
"xxx.xxx.xxx.xx"表示Windows7机器的IP地址。结果失败:
psql: could not connect to server: Operation timed out Is the server running on host "169.254.121.2" and accepting TCP/IP connections on port 5432?
我做了什么:
- 编辑 pg_hba.conf 文件以包含
host all all 0.0.0.0/0 md5
- 编辑 postgresql.conf 以包含
listen_addresses='*'
- 重新启动 postgres 服务。
- 在主机上禁用防火墙。
- 我在本地检查了 运行 psql 命令,它有效。 此外,在同一个 VMware 上我还有其他 Ubuntu 系统。他们都可以连接并访问此 Ubuntu 系统中的数据。
- 运行 Nmap,输出为
PORT STATE SERVICE
5432/TCP open postgresql
- 下一步是什么?还有什么我可以尝试的吗?非常感谢任何建议,如果以上任何内容不明确,请告诉我。我会澄清以便更好地诊断。谢谢大家!
不知何故设法让它工作..
所以当我 运行 在另一个 Ubuntu 系统上向这个系统“Nmap”时,它确实显示
PORT STATE SERVICE
5432/TCP open postgresql
然而,当我在 Mac 上 运行 “Nmap” 时,它是一个不同的端口,3389,主要用于 Windows 远程桌面。所以我所做的是检查这个 Ubuntu 虚拟机的网络配置,从“bridged”到“NAT”并做了一个端口转发到5432。现在工作正常..
我在一些地方看到说 VMware 支持桥接,而 VirtualBox 支持 NAT+端口转发。我很困惑,因为在我的情况下肯定不是这样。也许我错了。