【问题标题】:Could not connect to MongoDB on the provided host and port无法在提供的主机和端口上连接到 MongoDB
【发布时间】:2017-08-02 00:35:54
【问题描述】:

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

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

我按照 YouTube 上的these 说明进行操作。

【问题讨论】:

    标签: mongodb mongodb-compass


    【解决方案1】:

    我在 Ubuntu 上,我只是通过检查 'mongod.conf' 文件来做到这一点。 确保设置了以下参数:

    net:
      port: 27017
      bindIp: 127.0.0.1
    

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

    sudo systemctl restart mongod.service

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        基本上在 c 驱动器上,您应该有 data 文件夹,其中包含 db 文件夹,这就是我所理解的 我刚刚分享了有人可能会从中得到帮助:)

        【讨论】:

          【解决方案4】:

          我今天遇到了这个问题,后来我发现这是一个设置问题。如果您在第一次设置 MongoDB 时也遇到此问题,以下步骤可能会对您有所帮助。确保MongoDB服务已经在services.msc启动。

          1. 到C盘,在C:\data\db路径下创建一个文件夹db,如果你在C盘看不到data文件夹,请先创建它,然后再创建db文件夹,就像@sebastian在评论。
          2. 转到安装 MongoDB 的文件夹,在我的例子中,它是 C:\Program Files\MongoDB\Server\3.6\bin
          3. 输入命令C:\Program Files\MongoDB\Server\3.6\bin>mongod
          4. 这将在您的机器上设置 MongoDB,您将获得如前所述的输出。

          C:\Program Files\MongoDB\Server\3.6\bin>mongod 2018-03-11T07:02:56.558-0700 我控制 [initandlisten] MongoDB 开始: pid=18720 端口=27017 dbpath=C:\data\db\ 64 位 主机=SibeeshVenu 2018-03-11T07:02:56.558-0700 我控制 [initandlisten] targetMinOS:Windows 7/Windows Server 2008 R2

          1. 现在,如果您尝试连接,您可能不会遇到问题。

          【讨论】:

          • 这个工作,我也面临这个问题,我第一次安装。
          • 我可以在C:\data\db以外的路径中创建db文件夹吗?
          • 这个答案解决了我的问题,但是有不同的事情可能导致这个问题,所以我不接受这个答案以免误导人们
          • @EgeKuzubasioglu 我同意,但是留下一个不接受的问题会导致这个问题在未回答/未接受的类别中可用。
          • 谢谢,Sibeesh Venu 我所做的只是创建 C:\data\db 路径并使用 cmd 运行 mongod,然后使用另一个 cmd 运行 mongo :)
          【解决方案5】:

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

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

          【讨论】:

          • OP 没有指定他们在 Windows 环境中工作。并非所有操作系统都有任务管理器。
          【解决方案6】:

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

          • 编辑 /etc/mongod.conf
          • 在网络下,通过在行首放置 # 来注释以下内容:

            bindIp: 127.0.0.1

          -- 出了什么问题:--

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

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

          编辑:对于 MongoDB 2.4 及更早版本使用: bind_ip = 127.0.0.1

          【讨论】:

          • 能分享一下windows server的步骤吗?
          • 这是正确答案。不过,我的服务器中的拼写是 bind_ip = 127.0.0.1。
          • 或者您可以使用 127.0.0.1 代替 localhost 进行连接。
          【解决方案7】:

          编辑/etc/mongod.conf

          网络设置下

          bindIp: 0.0.0.0
          

          【讨论】:

          • 更改 bindIp 对我有用。我还禁用了 firewalld 服务。
          【解决方案8】:

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

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

          尝试像这样启动 mongo

          mongod --bind_ip_all
          

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

          mongod --bind_ip <IP>
          

          【讨论】:

            【解决方案9】:

            检查 .conf 文件中是否启用/打开了 27017 端口.. 这是因为默认情况下未打开 27017 端口,您还需要在 TCP IN 中添加您的 IP 以使您的 Internet IP 远程连接..

            【讨论】:

              【解决方案10】:

              我的 MongoDB 安装的机器防火墙已启用,这就是为什么我不能从远程机器 MongoDB 指南针

              禁用防火墙后,我可以从Remote MongoDB指南针连接。

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

              谢谢

              【讨论】:

                【解决方案11】:

                奋斗了 3 个小时。
                以下是三个步骤的完整过程:


                在 MongoDB 服务器机器上

                获取 IP 地址:

                1. 运行CMD或命令提示符
                2. 运行ipconfig 命令
                  查找如下所示的行
                  IPv4 地址。 . . . . . . . . . . :10.111.11.111
                3. 复制上面的IP值,即10.111.11.111,你可以不一样

                在 MongoDB Server 配置文件中编辑 bindIP:

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

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

                重启 MongoDB 服务器

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

                在客户端机器上

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

                现在,您可以从另一台机器进行连接。 使用客户端,例如 MongoDB Compass 或其他:

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

                疑难解答/问题?

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

                希望对您有所帮助。

                【讨论】:

                • 这是唯一对我有用的东西。谢谢!
                • 对我来说,用 0.0.0.0 分隔的逗号有效(而不是完全替换现有 IP)。所以我有bindIp:127.0.0.1,0.0.0.0。希望这意味着如果主机 IP 是动态的,我不需要更改 IP。
                【解决方案12】:
                • 请在使用 Compass GUI 前启动 mongoDB

                【讨论】:

                  【解决方案13】:

                  按 windows 键并搜索 Services 并找到 MongoDB 然后启动。然后再试一次。它会工作

                  【讨论】:

                  • 非常感谢,这对我有用...我知道这是一个简单的重启问题,因为之前一切正常,我没有对我的配置进行任何更改
                  • 超级。为什么我之前想到了这个......非常感谢
                  • 工作得很好——奇怪的是,这工作,但从 cmd 提示符重新启动时不起作用......
                  【解决方案14】:

                  我遇到了同样的问题

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-05-22
                    • 2018-07-06
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-02-09
                    • 1970-01-01
                    • 2020-02-18
                    相关资源
                    最近更新 更多