mongodb - 无法远程连接到 mongodb

标签 mongodb ubuntu networking firewall robo3t

目前,我无法在我的虚拟 Ubuntu 机器上远程连接 mongodb 服务器。我无法使用在我的 Windows PC 上运行的 Robomongo 客户端连接,该 PC 也运行 vm。

这是两台电脑的 IP 地址

window :

Ethernet adapter Ethernet:
Connection-specific DNS Suffix  . :
IPv4 Address. . . . . . . . . . . : 192.168.1.137
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1

Ubuntu:
enp0s3 Link encap:Ethernet  HWaddr 08:00:27:6c:fc:9c
      inet addr:192.168.1.134  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::9785:55d7:130:6618/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:5021 errors:0 dropped:0 overruns:0 frame:0
      TX packets:465 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:1231057 (1.2 MB)  TX bytes:45237 (45.2 KB)

我在显示无法连接的 Windows 上遇到的错误:
enter image description here

显示 mongo 正在运行的 Netstat:
netstat -tulpn | grep 27017
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      3611/mongod

从这一点开始,我尝试在本地连接到服务器并且它可以工作:
mongo --port 27017
MongoDB shell version: 2.6.10
connecting to: 127.0.0.1:27017/test

然后我尝试将端口27017添加到ufw,仍然无法连接:
sudo ufw status
To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere                  
27017 (v6)                 ALLOW       Anywhere (v6)

我在这里先向您的帮助表示感谢。

最佳答案

发现了问题。这是由于我的 mongodb.conf 中的 bind_ip 标志设置为 127.0.0.1。这就是为什么我只能在本地连接到 mongodb 服务器。

解决方案是注释掉 bind_ip 标志,这样它就不会将 IP 地址列入白名单。

mongodb.conf

# mongodb.conf



# Where to store the data.

dbpath=/home/<username>/mongodb



#where to log

logpath=/home/<username>/mongodb/logs/mongodb.log



logappend=true



#bind_ip = 127.0.0.1

port = 27017



# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling

journal=true



# Enables periodic logging of CPU utilization and I/O wait

#cpu = true



# Turn on/off security.  Off is currently the default

#noauth = true

#auth = true



# Verbose logging output.

#verbose = true



# Inspect all client data for validity on receipt (useful for

# developing drivers)

#objcheck = true



# Enable db quota management

#quota = true



# Set oplogging level where n is

#   0=off (default)

#   1=W

#   2=R

#   3=both

#   7=W+some reads

#oplog = 0



# Diagnostic/debugging option

#nocursors = true



# Ignore query hints

#nohints = true



# Disable the HTTP interface (Defaults to localhost:27018).

#nohttpinterface = true



# Turns off server-side scripting.  This will result in greatly limited

# functionality

#noscripting = true



# Turns off table scans.  Any query that would do a table scan fails.

#notablescan = true



# Disable data file preallocation.

#noprealloc = true



# Specify .ns file size for new databases.

# nssize = <size>



# Accout token for Mongo monitoring server.

#mms-token = <token>



# Server name for Mongo monitoring server.

#mms-name = <server-name>



# Ping interval for Mongo monitoring server.

#mms-interval = <seconds>



# Replication Options



# in replicated mongo databases, specify here whether this is a slave or master

#slave = true

#source = master.example.com

# Slave only: specify a single database to replicate

#only = master.example.com

# or

#master = true

#source = slave.example.com



# Address of a server to pair with.

#pairwith = <server:port>

# Address of arbiter server.

#arbiter = <server:port>

# Automatically resync if slave data is stale

#autoresync

# Custom size for replication operation log.

#oplogSize = <MB>

# Size limit for in-memory storage of op ids.

#opIdMem = <bytes>



# SSL options

# Enable SSL on normal ports

#sslOnNormalPorts = true

# SSL Key file and password

#sslPEMKeyFile = /etc/ssl/mongodb.pem

#sslPEMKeyPassword = pass

关于mongodb - 无法远程连接到 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41431417/

相关文章:

node.js - Mongoose 中的 "__v"字段是什么

ubuntu - 无法使用 apt 安装 rustc 版本 1.7.0

c# - 提供什么输入以查看安全 SslStream 程序的成功运行

javascript - 设计 MongoDB 数据库 - 许多嵌入式文档可以吗?

python - Pymongo 游标迭代的替代方案

c - 在 C 中合并排序时间

ubuntu - cupy.cuda.cudnn.CuDNNError : CUDNN_STATUS_INTERNAL_ERROR

java - 在 Java 和 Ubuntu 中从双网卡接收 UDP

http - 如何做 HTTP 等同于多播

mongodb - mongo 和 mongod 之间的实际区别是什么?