mongorestore失败:无法访问服务器

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

mongorestore --port 27133 dump 2015-05-07T09:39:11.760+0300 Failed: no reachable servers 

虽然我可以连接到它没有任何问题:

 $ mongo --port 27133 MongoDB shell version: 3.0.1 connecting to: 127.0.0.1:27133/test 

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

 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) 

更新

主机127.0.0.1没有帮助

 $ mongorestore --host=127.0.0.1 --port=27132 dump 2015-12-16T18:52:33.270+0300 Failed: no reachable servers 

虽然我仍然可以使用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 

主机0.0.0.0也没有帮助:

 $ mongorestore --host=0.0.0.0 --port=27133 dump 

我有3.2版本的MongoDb:

 $ mongorestore --version mongorestore version: 3.2.0-rc5 git version: 6186100ad0500c122a56f0a0e28ce1227ca4fc88 

尝试添加主机参数

 mongorestore --host=127.0.0.1 --port=27133 dump 

我通过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没有主机标志。

问题发生是因为在configuration中启用了--replSet 。 但该节点还没有在任何副本集。

当我从configuration中删除了--replSet后,重新启动的mongodb服务器, mongorestore开始工作,没有任何--host参数。

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

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

然后你可以使用cmd mongorestore来恢复你的数据库。

检查你的mongodconfiguration文件,如果你已经启用复制禁用它,如果启用,基于密钥的身份validation禁用它基本上禁用所有其他的事情,并重新启动mongod服务,然后尝试做mongo恢复。

顺便说一句,尝试绑定mongod ipaddress到你的机器地址,如果它是一个本地的mongod实例尝试绑定IP地址为0.0.0.0,在bind_ip =“你的IP地址”下的mongod.conf文件中,让我知道它是或不是。

首先运行mongod

如果exception in initAndListen: 29 Data directory /data/db not found., terminating ,请执行sudo mkdir -p /data/db

如果exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating得到exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating ,这可能是你的权限问题。 如果这是你的本地,你可以运行sudo chmod 7777 /data/db来解决这个问题。

现在, mongod应该工作。 然后,运行您的转储文件所在的mongorestore dump

您应该成功恢复转储文件。

我也有这个问题。

 mongorestore --host f8cab83e7294 --port 27601 gene_backup_final/gene_backup/s2/ --verbose 2016-12-05T13:48:15.333-0700 Failed: error connecting to db server: no reachable servers 

我没有启动副本集。 这就是为什么没有可达的服务器

启动RS后,恢复工作。

 mongo localhost:27501 rs.initiate()