mongorestore失败:没有可访问的服务器

Max*_*mov 43 mongodb

我试图从转储恢复mongo但失败了:

mongorestore --port 27133 dump
2015-05-07T09:39:11.760+0300    Failed: no reachable servers
Run Code Online (Sandbox Code Playgroud)

虽然我可以毫无问题地连接到它:

$ mongo --port 27133
MongoDB shell version: 3.0.1
connecting to: 127.0.0.1:27133/test
Run Code Online (Sandbox Code Playgroud)

在日志文件中没有什么特别的:

2015-05-07T09:37:00.350+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44901 #1 (1 connection now open)
2015-05-07T09:37:13.935+0300 I NETWORK  [conn1] end connection 127.0.0.1:44901 (0 connections now open)
2015-05-07T09:39:08.752+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44906 #2 (1 connection now open)
2015-05-07T09:39:11.763+0300 I NETWORK  [conn2] end connection 127.0.0.1:44906 (0 connections now open)
2015-05-07T09:39:52.365+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44907 #3 (1 connection now open)
2015-05-07T09:39:55.064+0300 I NETWORK  [conn3] end connection 127.0.0.1:44907 (0 connections now open)
2015-05-07T09:40:11.272+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44909 #4 (1 connection now open)
2015-05-07T09:40:14.281+0300 I NETWORK  [conn4] end connection 127.0.0.1:44909 (0 connections now open)
Run Code Online (Sandbox Code Playgroud)

更新

主持人127.0.0.1没有帮助

$ mongorestore --host=127.0.0.1 --port=27132 dump
2015-12-16T18:52:33.270+0300    Failed: no reachable servers
Run Code Online (Sandbox Code Playgroud)

虽然我仍然可以使用mongo命令连接:

$ mongo --host=127.0.0.1 --port=27133
MongoDB shell version: 3.2.0
connecting to: 127.0.0.1:27133/test
> ^C
bye
Run Code Online (Sandbox Code Playgroud)

主持人0.0.0.0也没有帮助:

$ mongorestore --host=0.0.0.0 --port=27133 dump
Run Code Online (Sandbox Code Playgroud)

我有3.2版本的MongoDb:

$ mongorestore --version
mongorestore version: 3.2.0-rc5
git version: 6186100ad0500c122a56f0a0e28ce1227ca4fc88
Run Code Online (Sandbox Code Playgroud)

ran*_*cao 49

尝试添加主机参数

mongorestore --host=127.0.0.1 --port=27133 dump
Run Code Online (Sandbox Code Playgroud)


Max*_*mov 23

由于--replSet在配置中启用了问题.但该节点尚未出现在任何副本集中.

--replSet从配置中删除后,重新启动mongodb服务器,mongorestore开始工作,没有任何--host参数.

  • 你能解释一下如何禁用"--replSet"吗? (8认同)
  • 这是一个不充分的答案,不应被接受. (3认同)

Shi*_*ing 22

你在副本集中运行mongo,即mongod --replSet rs0

如果是,请记住在你的mongo shell中运行命令: rs.initiate()

然后,您可以使用cmd mongorestore来还原数据库.


Col*_*all 17

我通过Homebrew安装了MongoDB,并且遇到了这个问题.以下是症状:

这些失败了:

mongorestore dump

mongorestore dump --host=localhost

我得到的错误: Failed: error connecting to db server: no reachable servers

这些工作(作为一种解决方法):

mongorestore dump --host=127.0.0.1

mongorestore dump --host=0.0.0.0

这解决了我的问题:

brew update && brew upgrade

将MongoDB更新为3.0.7,现在mongorestore dump没有主机标志.


Rtm*_*tmY 5

我在使用 MongoDB Atlas 几个小时时遇到了同样的问题。

我尝试遵循官方指南,例如Seed with mongorestoreLoad File with mongoimport但收到相同的no reachable servers错误。

我尝试一遍又一遍地更改命令参数 - 没有任何改变。

但后来 我在集群内部导航到“命令行工具”选项卡,看到了我应该运行的确切命令mongorestore,,,,等等mongodumpmongoimportmongoexport

在此输入图像描述

添加为内联完整命令:

mongorestore --host 
<cluster-name>-shard-0/
<cluster-name>-shard-00-00-obe3i.mongodb.net:27017,
<cluster-name>-shard-00-01-obe3i.mongodb.net:27017,
<cluster-name>-shard-00-02-obe3i.mongodb.net:27017 
--ssl 
--username <User-Name> 
--password <PASSWORD> 
--authenticationDatabase admin 
Run Code Online (Sandbox Code Playgroud)

该命令可以用, ,等mongorestore替换。mongodumpmongoimportmongoexport

(*) 最好直接从仪表板复制命令,因为副本集的 DNS 可能会更改。

(**) MongoDB shell 版本 v4.2.5。