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

MongoDB失败:连接到db服务器时出错:没有可访问的服务器

司徒池暝
2023-03-14

我在Ubuntu14.04服务器中安装了mongodb

我无法通过“mongoimport”,“mongodump”,“mongostat”等连接到mongodb。它始终显示“无法访问的服务器”

mongoimport --db test --collection restaurants --drop --file dataset.json
2015-08-25T13:08:29.802+0800    [........................] test.restaurants 0.0 B/11.3 MB (0.0%)
2015-08-25T13:08:30.306+0800    Failed: error connecting to db server: no reachable servers
2015-08-25T13:08:30.306+0800    imported 0 documents

不知何故,我能够与Mongo Shell建立联系

mongo --port 27017
MongoDB shell version: 3.0.6
connecting to: 127.0.0.1:27017/test

起初,我怀疑它是否是由我的iptables引起的,所以我刷新了所有iptables规则并为所有接受创建了规则,但它仍然相同

 sudo iptables -S
    -P INPUT ACCEPT
    -P FORWARD ACCEPT
    -P OUTPUT ACCEPT
    -A INPUT -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A FORWARD -j ACCEPT
    -A OUTPUT -j ACCEPT
    -A OUTPUT -o lo -j ACCEPT

我搜索了stackOverflow和google,有人告诉我去掉bind_ip或将bind_ip设置为0.0.0.0,我尝试了所有方法,但仍然失败。

以下是我的mangodb配置,任何人都可以帮我检查吗?感谢您的帮助

james@localhost:~$ cat /etc/mongod.conf 
# mongod.conf

# Where to store the data.

# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongod.log

logappend=true

port = 27017

# Listen to local interface only. Comment out to listen on all interfaces. 
#bind_ip = 127.0.0.1
# Disables write-ahead journaling
# nojournal = 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
#diaglog = 0

# Ignore query hints
#nohints = true

# Enable the HTTP interface (Defaults to port 28017).
#httpinterface = 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>

# Replication Options

# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#keyFile=/path/to/keyfile

共有3个答案

陶涵育
2023-03-14

您需要提供主机选项,请尝试以下命令:

mongoimport --host=127.0.0.1 -d dbName -c collectionName --file output.txt
杨景山
2023-03-14

提供主机和端口选项

mongoimport --host X.X.X.X --port 27017 --db dbName --collection collectionName --file fileName.json --jsonArray
朱昊乾
2023-03-14

临时解决方法是将host参数添加到您的mongoimport调用中,让mongo知道主机是您自己的机器(127.0.0.1):

mongoimport --host=127.0.0.1

然后,您的案例中的完整命令是:

mongoimport --host=127.0.0.1 \
  --db test --collection restaurants --drop --file dataset.json

(来源:ranjeetcao@mongoRecovery失败:无法访问服务器)

更新:

更新到Mongo

(资料来源:科林·马歇尔)@

更新2:

对于一些用户来说,错误似乎仍在发生。

这里还有一个开放的JIRA问题。

(资料来源:秦国强@

更新3:

在某些情况下,这可能是由于Mongo作为副本集运行造成的。据我所知,要解决这个问题,要么禁用ReplicaSet功能,要么重置它。参见:

    < li >如何重置MongoDB副本集设置 < li >如何将MongoDB副本集转换为独立服务器

(来源:Maxim Yefremov @ mongorestore失败:没有可访问的服务器)

 类似资料:
  • 所以我现在正在编写一个web应用程序,我需要数据库,所以我决定使用mongodb和Mongoose。到目前为止,我在localhost上测试了所有的内容,它都起作用了,但我想把数据移到服务器上。我听说过Atlas,自己注册并“上传”了数据。 现在我想通过Node.js应用程序连接到集群。 我在连接您的应用程序点得到了mongodb Atlas站点的字符串 然后我交换了我的密码。 这也没用。 这是错

  • 问题内容: 因此,我目前正在使用Web应用程序,并且需要数据库,因此我决定使用mongodb和mongoose。到目前为止,我已经在localhost上测试了所有内容,并且一切正常,但是我想将数据移至服务器。我听说过Atlas,并进行了注册并“上传”了数据。 现在,我想通过node.js应用程序连接到集群。 我在 连接您的应用程序* 点获得了mongodb Atlas网站的字符串 * 然后我交换了

  • OpenStack-Kilo OS-CentOSLinux7.2.1511(Core) 应用 /var/tmp/packstack_ /var/tmp/packstack 应用 /root_redis.pp 10.xx.xxx.xx_mongodb.pp:[ERROR] 应用Puppet清单[ERROR] 错误:在Puppet运行期间出现错误:10.xx.xxx.xx_mongodb.pp 错误:

  • 初始化-iMac:桌面初始化$openssl s_client-connect gateway.sandbox.push.apple.com:2195-cert pushchatcert.pem-key pushchatkey.pem 终端响应: CONNECTED(00000003)深度=1/c=US/O=Entrust,INC./OU=www.Entrust.net/RPA是通过引用合并的/O

  • 我创建了spring项目来对postgres数据库服务器进行CRUD,但出现了一些错误。 无法获得查询元数据的连接 组织。postgresql。util。PSQLException:连接尝试失败。在org。postgresql。果心v3。连接工厂impl。openConnectionImpl(ConnectionFactoryImpl.java:313)~[postgresql-42.3.1.ja