【问题标题】:Connecting MongoDB compass to MongoDB running on another machine将 MongoDB 指南针连接到在另一台机器上运行的 MongoDB
【发布时间】:2018-09-21 10:25:46
【问题描述】:

我构建了一个与 MongoDB 通信的 Node.js RestAPI。我已将其部署到主机中。一切正常,我可以使用我的应用程序并与将数据写入 MongoDB 数据库的 RestAPI 进行通信。

但是,我正在尝试让我的 PC 上的 MongoDB 指南针连接到主机上的 MongoDB,因此我可以以更用户友好的方式查看数据库,但无论我尝试什么,我都可以't get compass 以连接主机上的数据库。

Mongod 在主机的 127.0.0.1:27017 上运行,但接受外部请求。服务器有一个公共 IP 地址,它在应用程序中使用并且可以工作,但是,无论我尝试什么主机名,它总是说 MongoDB 没有在提供的主机和端口上运行。主机运行的是 Ubuntu 16.04。

谁能告诉我需要在指南针上填写哪些参数才能使其连接?

我已阅读文档,但无济于事。

谢谢!

【问题讨论】:

    标签: database mongodb ubuntu database-connection mongodb-compass


    【解决方案1】:

    如果您想从不同的机器连接到您的MongoDB,我想可能是一些原因导致这种情况发生:

    1. 您是否确保端口 27017 已在您的 Ubuntu 防火墙设置 (UFW) 上打开以进行远程访问? 如果没有,您可以尝试ufw allow 27017。但出于安全原因,我真的不推荐这种方式;您可以通过iptable 进行端口转发。

    2. 您是否在 MongoDB 配置中打开了 Remote AccessCheck This Out

    【讨论】:

    • 从您提供的链接中,我认为我必须检查我的机器 IP 并将其添加到服务器机器上的 mongod.conf 中的 bindIP 中。是这样吗?
    • @DiogoMelo 没错。您必须将您的客户端 IP 添加到您的 mongod.conf 文件中。并且不要忘记在防火墙设置中打开您的PORT 27017
    • 所以我在我的客户端机器上做了ipconfig,得到了IPV4地址,将它添加到mongod.conf上的bindIP并尝试连接,但仍然是同样的错误!我应该在主机名上放什么?
    • @DiogoMelo 好吧,我不知道你的 ip 是什么。让我们先弄清楚,服务器和客户端是否在同一个网络中?如果是,您必须使用内部 IP 地址来访问您的MongoDB server。如果不是,您必须确保您的路由器设置该端口没有被路由器阻止。否则,只需将您的服务器 IP 地址放在主机名字段中即可。
    • 出现严重错误,因为我刚刚评论了bindIP 行,但我仍然无法使用主机公共 IP 进行连接
    猜你喜欢
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    相关资源
    最近更新 更多