我是 SQL 新手,正在尝试配置 Ubuntu Server 14.04 VM 以连接到本地主机上的 SQL Workbench x64。以下是我对虚拟机端口转发的设置以及尝试连接时收到的错误。
Oracle Virtual box 端口转发设置:
FTP =127.0.0.1:2020 -> 10.0.2.15:20
HTTP =127.0.0.1:8080 -> 10.0.2.15:80
SQL(不确定)=127.0.0.1:5432 -> 10.0.2.15:5432
SQL(服务)= 127.0.0.1:1156 -> 15.0.2.15:1156
SSH(数据传输)=127.0.0.1:2222 -> 10.0.2.15:22
从 MySQL 工作台连接到 postgres 时出错:
无法使用用户 dj 连接到 127.0.0.1:1156 上的 MySQL
在“读取初始通信包”时与 MySQL 服务器失去连接,系统错误:0
如果我理解我所做的事情,我已经将虚拟机内部运行的 postgres 端口转发到本地主机上的同一端口。此外,我还使用了联邦快递允许端口 1156。
所以我不确定为什么这不起作用,任何帮助都将非常感激!
答案1
您必须编辑以下文件
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
然后按 SHIFT+G 现在将下面一行中的 md5 更改为信任
host all all 127.0.0.1/32 md5
到
host all all 127.0.0.1/32 trust
如果你需要从任何 IP 地址监听,我们必须编辑下面的文件
sudo vim /etc/postgresql/9.3/main/postgresql.conf
然后搜索 localhost 并取消注释以下行
listen_addresses = 'localhost'
并将 * localhost 更改为 *
listen_addresses = '*'
如果你需要登录 postgres 用户,你必须进行以下设置
编辑文件
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
按 SHIFT + G 到达文件底部
并将 md5 更改为 trust
local all postgres md5
到
local all postgres trust
然后按wq保存更改并退出!
然后使用重新启动服务器
sudo service postgresql restart
注意:> 这里我使用的是 PostgreSQL 版本 9.3,在您的环境中它可能会根据您选择的版本而改变。