当前位置: 首页 > 知识库问答 >
问题:

无法远程连接到MongoDB(即使没有设置bindIp)

濮阳宏硕
2023-03-14

我花了几个小时试图解决这个问题,但我不知道为什么它不起作用。我给蒙哥德安排了一个

mongod --dbpath /some/path

所以bind_ip没有设置(mon神正在监听所有接口)。我将所有iptables的策略设置为ACCEPT并刷新了所有规则(因此我可以确定iptables不会阻止任何内容)-iptables-S:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N DOCKER
-N DOCKER-ISOLATION
-N FORWARD_IN_ZONES
-N FORWARD_IN_ZONES_SOURCE
-N FORWARD_OUT_ZONES
-N FORWARD_OUT_ZONES_SOURCE
-N FORWARD_direct
-N FWDI_public
-N FWDI_public_allow
-N FWDI_public_deny
-N FWDI_public_log
-N FWDO_public
-N FWDO_public_allow
-N FWDO_public_deny
-N FWDO_public_log
-N INPUT_ZONES
-N INPUT_ZONES_SOURCE
-N INPUT_direct
-N IN_public
-N IN_public_allow
-N IN_public_deny
-N IN_public_log
-N OUTPUT_direct

我反复检查了我的服务器的公共ip地址,100%正确。但是无论我做什么,当我试图从我的本地机器连接到mongo时:

mongo <servers_ip>

我明白了

MongoDB shell version: 2.6.11
connecting to: servers_ip/test
2017-08-08T18:18:30.689+0200 warning: Failed to connect to servers_ip:27017, reason: errno:113 No route to host
2017-08-08T18:18:30.690+0200 Error: couldn't connect to server servers_ip:27017 (servers_ip), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed

有没有人知道我还能做什么来让这个工作?

编辑:netstat的输出-tanp|grep monhk:

tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      4302/mongod 

共有2个答案

卫烨
2023-03-14
  1. 设置您的用户

您需要为数据库设置用户和密码才能获得访问使用your_db

< code> db.createUser({ user: 'user ',pwd: 'password ',roles: [{ role: 'readWrite ',db:'yourdb'}] })

sudo nano/etc/mongod.conf

`# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
security:
  authorization: 'enabled'`

打开端口 27017 在端口 27017 上创建新的自定义 TCP,源: 任何地方, 0.0.0.0/0

最后一步:重启mongo守护进程(mon神)

< code>sudo服务mongod重启

使用笔记本电脑上的 mongo 外壳登录

mongo-u user-p密码serverip/your_db

姬凡
2023-03-14

好的,从我的角度来看,一切都很好。是我的VPS提供商OVH阻塞了这个端口,对此我无能为力,只能将mongod端口改为更低的值。谢谢@nadavvadan的建议。

 类似资料:
  • 我正在使用dbeaver连接到远程mongodb服务器,这需要用户名和密码。我可以使用命令连接到它,但使用DBEAVER失败。 我试过所有这些凭据机制,但没有一个奏效。当我使用简单的机制时,它说 DBException:连接到Mongo实例[10.20.88.19]com.MongoDb.MongoMeoutException:MongoMeoutException:等待与ReadPreferen

  • sudo ufw状态:活动状态 从---------22/TCP允许任意位置10000 允许任意位置Nginx完全 允许任意位置3333 允许任意位置27017 允许任意位置22/TCP(v6) 允许任意位置(v6)10000(v6) 允许任意位置(v6)Nginx完全(v6) 允许任意位置(v6)27017(v6) 允许任意位置(v6) 从我的mac连接到它会引发错误: mongo MongoD

  • 我在localhost上有一个带有mongo数据库的Spring Boot应用程序,一切都很好。 当我运行我的应用程序时,我得到“com.mongodb.mongoSocketOpenException:Exception opening Socket”由“regused by:java.net.SocketTimeoutException:connect timed out”引起

  • 我在A机上设置了伪分布式模式的Hadoop和Hbase,我正在B机上运行我的客户端(Java程序)(A机和B机可以互相通信)。但我这样做面临问题。 我的客户端代码如下所示: 配置config=HBaseConfiguration.create(); config.set(“HBase.ZookeePer.quorum”,zookeeperLocation);config.set(“hbase.zo

  • 问题内容: 我正在尝试使用jstatd用jps查询远程JVM,以便最终使用VisualVM对其进行监视。 我让jstatd使用以下安全策略运行: jstatd在带有1.6.0_10版本的HotSpot vm的64位Linux机器上运行。jstatd命令是: 我正在尝试从Windows 7计算机运行jps。由于防火墙的限制,我通过SSH隧道将RMI数据通过隧道传输到我的Windows计算机,这样jp

  • 当我试图将我的一台机器用作WinRM客户端以连接到另一台机器时,我的一台机器出现问题。场景是: Window 7上的问题机器(VM A)已经启用了WinRM(已经运行winrm快速配置,Enable-PSRemoting),然后我将远程机器(VM C)的IP添加到VM A的受信任主机中,然后运行Test-WSMan,我得到这个错误Test-WSMan: 客户端无法连接到请求中指定的目标。验证目标上