无法在提供的主机和端口上连接到MongoDB

时间:2017-03-11 18:46:20

标签: mongodb mongodb-compass

我只是想为MongoDB尝试MongoDB Compass GUI,但是当我尝试使用本地主机端口连接时:27017我收到此错误:

  

无法在提供的主机和端口上连接到MongoDB

我在YouTube上关注了these条款。

14 个答案:

答案 0 :(得分:37)

我今天遇到了这个问题,后来发现这是一个设置问题。如果您在第一次设置MongoDB时也遇到此问题,则以下步骤可能会对您有所帮助。

  1. 转到C盘并在路径db
  2. 中创建文件夹C:\data\db
  3. 去你安装了MongoDB的文件夹,就我而言,它是C:\Program Files\MongoDB\Server\3.6\bin
  4. 输入命令C:\Program Files\MongoDB\Server\3.6\bin>mongod
  5. 这将在您的计算机上设置MongoDB,您将获得前面的输出。
  6.   

    C:\ Program Files \ MongoDB \ Server \ 3.6 \ bin> mongod   2018-03-11T07:02:56.558-0700 I CONTROL [initandlisten] MongoDB   start:pid = 18720 port = 27017 dbpath = C:\ data \ db \ 64-bit   host = SibeeshVenu 2018-03-11T07:02:56.558-0700 I CONTROL   [initandlisten] targetMinOS:Windows 7 / Windows Server 2008 R2

    1. 现在,如果您尝试连接,可能无法解决问题。
    2. enter image description here

答案 1 :(得分:18)

按Windows键按钮并搜索服务,然后找到 MongoDB 然后启动。然后再试一次。它会起作用

答案 2 :(得分:12)

如果其他人有这个错误,这对我有用:

  • 编辑/etc/mongod.conf
  • 在网络注释下,在行的开头放置一个#:

    bindIp:127.0.0.1

- 出了什么问题: -

原因:bindIp导致它拒绝外部请求,因此我们需要删除该设置。

我的mongo是Red Hat(RHEL6)的标准yum安装,这是它默认配置的方式(我已经开始使用mongoDB 2.6并逐步升级到3.4)。

答案 3 :(得分:9)

挣扎了3个小时。
这是完整的过程,分3个步骤:


在MongoDB服务器计算机上

获取IP地址:

  1. 运行CMD或命令提示符
  2. 运行ipconfig命令
    查找下面的一行
        IPv4地址。 。 。 。 。 。 。 。 。 。 。 :10.111.11.111
  3. 复制高于IP值的10.111.11.111,对于您来说它可能会有所不同

在MongoDB服务器配置文件中编辑bindIP:

  1. 打开C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg
    查找以下行:
    bindIp: 127.0.0.1
  2. 在末尾添加一个COMMA,然后粘贴复制的IP,如下所示:
    bindIp: 127.0.0.1,10.111.11.111

注意:如果您的IP地址每天都在变化,那么最好写下计算机名称(在hostname中键入cmd来获取计算机名称)

重新启动MongoDB服务器

  1. 运行services.msc命令
    向下滚动以选择MongoDB Server
    在左上角的Restart the service

在客户端计算机上

从另一台计算机连接到MongoDb服务器

现在,您可以从另一台计算机进行连接。 使用MongoDB Compass之类的客户端或其他客户端:

  1. 可以使用IP 10.111.11.111进行连接,并在MongoDB Compass客户端的Hostname中进行连接
  2. MongoDB Compass客户端中的
  3. Hostname也可以是服务器的计算机名称,例如W11ABC11A11。要获取MongoDB服务器的计算机名称,请使用hostname(在MongoDB服务器计算机上)中的CMD

故障排除/问题?

完成上述所有操作后,如果您遇到问题,则:
-使用ipconfig相互ping通(服务器上的客户端,反之亦然),使用命令ping IPhere,您应该获得Reply from ..而不是Request timed out.
-如果您发现上述问题:
-重新启动客户端计算机,再次ping
-如果仍然有问题,请让数据库所有者重新启动服务器计算机一次(如果它是开发服务器,则在空闲时重新启动应该没有任何问题。)
-问题还在吗?验证以上所有步骤

希望有帮助。

答案 4 :(得分:6)

我遇到了同样的问题

  1. 尝试启用cmd输入命令 - > mongod
  2. 然后尝试使用MongoDb Compass程序进行连接 您必须始终拥有一个打开的控制台

答案 5 :(得分:2)

如果您在 Windows 上工作,这是一个常见问题。

打开任务管理器,然后转到“服务”选项卡。检查MongoDB服务器是否已停止。如果停止,请右键单击它并启动服务器。 然后再试一次。该问题将得到解决。

答案 6 :(得分:0)

  • 请在使用Compass GUI
  • 之前启动mongoDB

答案 7 :(得分:0)

我的 MongoDB 已启用安装的计算机防火墙,这就是为什么我无法从远程计算机 MongoDB 罗盘

禁用防火墙后,我可以通过远程MongoDB 指南针进行连接。

[17:32:51 oracle@test2 bin]$ service firewalld stop

谢谢

答案 8 :(得分:0)

检查27017端口是否已启用/在您的.conf文件中打开..这是因为27017端口未默认打开,并且您还需要在TCP IN中添加IP以使Internet IP进行远程连接。 / p>

答案 9 :(得分:0)

为此花费了很多时间,似乎尝试了所有方法,但实际上这些解决方案都不适合我...

最终,我的MongoDb似乎想忽略我的配置文件,因为注释掉bind_ip字段应该做同样的事情。

尝试像这样启动mongo

mongod --bind_ip_all

或者,您可以指定特定的IP

mongod --bind_ip <IP>

答案 10 :(得分:0)

编辑/etc/mongod.conf

在网络设置下

bindIp: 0.0.0.0

答案 11 :(得分:0)

如果您使用Windows,这是一个常见问题。

data/db驱动器上创建c文件夹,然后从C:\Program Files\MongoDB\Server\4.2\bin运行mongod 然后从mongodb罗盘进行连接即可解决我的问题

基本上在c驱动器上,您应该有data文件夹,其中保存着db文件夹,这是我对此的理解 我刚刚分享了某人,也许可以从中获得帮助:)

答案 12 :(得分:0)

我在 EC2 实例上使用 MongoDB 时遇到了类似的问题,并试图通过 Mongodb 指南针连接到它。

在 Mongodb Compass 身份验证屏幕上,将端口更改为 443 有效,因为我的 mongod 服务正在侦听 443。 enter image description here

答案 13 :(得分:0)

我在 Ubuntu 上,我只是通过检查“mongod.conf”文件来完成的。 确保设置了以下参数:

<块引用>
net:
  port: 27017
  bindIp: 127.0.0.1

每次更改后,我建议您使用

<块引用>

sudo systemctl restart mongod.service