MongoDB无法连接到服务器127.0.0.1:27017连接尝试失败

时间:2018-09-27 11:30:47

标签: mongodb

我正在使用ubuntu os 16.04。在此sudo service mongod start之后,我正在使用mongo命令启动mongodb,它将生成此错误::

MongoDB shell version v4.0.1
connecting to: mongodb://127.0.0.1:27017
2018-09-27T16:50:41.345+0530 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed

现在我无法启动mongodb。如何解决此错误以及这些错误的原因是什么。 我为该问题尝试了所有解决方案,但没有找到任何解决方案。

9 个答案:

答案 0 :(得分:7)

mongod --repair对我有用,

sudo mongod --repair
sudo mongod

然后打开其他选项卡/终端:

mongo

此后,您的本地设置将正常运行

答案 1 :(得分:4)

当您的$version不在mongodb server端口上运行时,会发生此错误。 尝试使用以下命令启动mongodb服务器。

27017

运行此命令后,运行sudo systemctl start mongod 命令。

答案 2 :(得分:3)

在MacOS上,我执行了第四步 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/

带有sudo

的教程

sudo mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork

成功了!

答案 3 :(得分:2)

这对我有效(MAC)

步骤1 :检查MongoDB是否正在运行

brew services list | grep mongo

第2步:如果出现类似的内容:

Name           Status  User    Plist
mongodb        stopped

步骤3::启动服务:

brew services start mongodb 

其他:

如果您在第2步后得到了这样的提示

Name           Status  User    Plist
mongodb        started u1 /Users/u1/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

然后它已经在运行 那么您可以通过以下方式重新启动服务

brew services restart mongodb

答案 4 :(得分:2)

Windows

  • 打开任务管理器。
  • 单击“服务”标签。
  • 搜索MongoDB服务。
  • 选择后,单击“查看服务”标签。
  • 搜索MongoDB服务器。
  • 选择后,单击左上方菜单中的“运行”按钮。

你很好。

答案 5 :(得分:2)

不幸的是,上述解决方案都不适合我。查看 mongodb 日志,似乎无法取消链接 .sock 套接字文件,这限制了服务重新启动。手动取消链接并重新启动实际上对我有用。

检查最后 100 行 mongodb 日志:

sudo tail -100 /var/log/mongodb/mongod.log


{"t":{"$date":"2021-04-07T22:11:44.059-04:00"},"s":"E",  "c":"NETWORK",  "id":23024,   "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Operation not permitted"}}
{"t":{"$date":"2021-04-07T22:11:44.059-04:00"},"s":"F",  "c":"-",        "id":23091,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":40486,"file":"src/mongo/transport/transport_layer_asio.cpp","line":919}}
{"t":{"$date":"2021-04-07T22:11:44.059-04:00"},"s":"F",  "c":"-",        "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}

手动取消链接

sudo unlink /tmp/mongodb-27017.sock

接着是启动命令

 sudo systemctl start mongod

返回成功状态:)

$ sudo systemctl status mongod
 mongod.service - MongoDB Database Server
 Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
 Active: active (running) since Wed 2021-04-07 22:47:23 EDT; 6s ago
   Docs: https://docs.mongodb.org/manual
 Main PID: 96418 (mongod)
 Memory: 177.0M
 CGroup: /system.slice/mongod.service
         └─96418 /usr/bin/mongod --config /etc/mongod.conf

答案 6 :(得分:1)

MAC:对于我来说,我忘记了在本地打开mongo服务器,因此我通过首先在终端上打开一个新选项卡然后像下面这样打开mongodb服务器来解决了该问题:-

mongod 

之后,只需尝试再次打开mongo shell,如下所示:-

mongo 

最后成功了!

答案 7 :(得分:0)

对于窗户,

1) 右键单击​​任务栏并选择任务管理器。

2)在给定的菜单中选择服务器

3) 搜索 mongoDB 并选择并右键单击(单击打开服务)。

4)搜索mongoDB Server,选择它并点击左侧窗口的“start”

现在准备好了

答案 8 :(得分:-1)

我也遇到同样的问题。这是我resoleved.go到taskmanager.select> services并在列表中找到mongodbserver的方式,通过选择它来确保mongodb正在运行。

image source