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()