Mongoimport错误 - 失败:连接数据库服务器错误:没有可达的服务器

3

我目前正在尝试学习Mongodb,但是我在解决这个问题时遇到了困难。

当我运行mongoimport命令时,我会收到以下错误:

~ mongoimport --host localhost --port 27017 --db test --collection people --file ~/Downloads/mongodb-consultas.json --jsonArray
2015-09-27T20:46:03.228-0600    [........................] test.people  0.0 B/684.2 KB (0.0%)
2015-09-27T20:46:03.745-0600    Failed: error connecting to db server: no reachable servers
2015-09-27T20:46:03.745-0600    imported 0 documents

我在命令行中运行mongod,开启了一个MongoDB服务器。

我的MongoDB shell版本是3.0.6。

谢谢!


这表示服务器可能没有运行,或者您的防火墙规则阻止了对端口的访问。很可能实际上并没有运行。尝试基本连接“mongo” shell,并检查服务器的运行状态。 - Blakes Seven
@BlakesSeven 我也在运行Mongo,它显示“connecting to: test”和其他一些信息。我如何确定防火墙是否阻止了对端口的访问? - German
@BlakesSeven 我刚刚检查了防火墙,允许mongod的传入连接... - German
如果使用 127.0.0.1 而不是 localhost 会发生什么?此外,这个问题应该在 http://dba.stackexchange.com 上提问。 - Markus W Mahlberg
@MarkusWMahlberg,那也不行...我得到了以下错误信息:Failed: error reading separator after document #1: bad JSON array format - found no opening bracket '[' in input source。我尝试导入的文件并没有损坏,因为我是从教程中获取的。感谢您的建议,我不知道dba.stackexchange.com。我也会在那里寻求帮助。 - German
@German 这是一个非此即彼的问题。基本上,您现在已经连接上了。请通过编辑将 head -c20 yourfile.json 的输出添加到您的问题中。 - Markus W Mahlberg
6个回答

3
您需要使用--host 127.0.0.1:27017。

1

-h 127.0.0.1参数是一个快速解决方法,但升级到MongoDB 3.0.7可以解决此问题。


1
尝试将--host localhost 更改为 --host 127.0.0.1

0

为那些在使用MongoDB Atlas时遇到同样问题的人提供答案。

我尝试按照官方指南如mongorestore种子mongoimport文件加载,但是收到相同的无法连接到服务器错误。

我试图一次又一次地更改命令参数 - 但没有任何变化。

但后来,我进入我的集群并导航到"命令行工具"选项卡,看到了应该运行的确切命令,例如:mongorestoremongodumpmongoimportmongoexport等。

enter image description here

将完整命令作为内联添加:

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 

mongorestore 命令可以被 mongodump, mongoimport, mongoexport 等替换。

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

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


0

虽然这是老问题,但还没有答案:

我也遇到了同样的问题,查看了所有相关问题,但都没有解决我的具体问题。我在“admin”数据库中创建了我的用户,在调用mongoimport时必须使用--authenticationDatabase参数指定该数据库。可以在这里检查所有参数。


0

对我来说,Mongo集群启用了ssl,所以我连接Mongo服务器时遇到了问题。我只需添加--ssl就可以正常工作了。这可能对某些人有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接