首页 > 解决方案 > Mongodb Compass 连接到本地数据库而不是连接到在 EC2 实例上本地运行的远程数据库

问题描述

我正在使用 aws 提供的 ssh 身份文件通过 ssh 连接到在 ec2 实例上本地运行的 mongodb 数据库。在连接到本地运行在 aws ec2 服务器上的远程数据库时,我已经提供了所有必要的字段。但它正在连接到我在本地机器上运行的本地数据库。我在下面提供了一张图片。

请点击这里查看连接配置

在主机名部分中,我提供了以下信息主机名:localhost 端口:27107 在更多选项部分中,我提供了以下信息 SSH 隧道:选择的身份文件 SSH 主机名:给定 ec2 实例的 IP 地址 SSH 隧道端口:22 SSH 用户名:服务器 SSH 身份文件的用户名:选择 aws 给出的 ppk 文件

如果我使用此详细信息单击连接,那么它将连接到在我的本地计算机上运行的本地数据库。

谁能帮我解决这个问题。

标签: mongodbamazon-ec2sshconnectionmongodb-compass

解决方案


任何时候只有一个进程可以监听一个端口。如果你已经有一个 mongod 进程不监听 27017 端口,那么启动连接到 ec2 的 SSH 进程将无法绑定到该端口。

当您尝试通过 SSH 连接时,它无法在 27017 上侦听,因为 mongod 已经在侦听,因此当 Compass 随后连接到端口 27017 时,它会连接到本地 mongod。

要连接到远程 mongod 进程,请停止本地 mongod 以便 ssh 可以绑定到端口 27017,或者为其中一项服务使用不同的端口。


推荐阅读