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



我正在研究Ubuntu OS 16.04。我正在使用命令启动 mongodb::sudo service mongod start然后mongo

它为我生成了此错误:

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。如何解决此错误以及这些错误的原因是什么。 我尝试了这个问题的所有解决方案,但没有找到任何解决方案。

mongod --修理对我有用,

sudo mongod --repair
sudo mongod

然后打开不同的选项卡/终端:

mongo

在此之后,您的本地设置将正常工作

这对我有用(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

不幸的是,上述解决方案都不适合我。查看 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":"nn***aborting after fassert() failurenn"}

手动取消关联

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

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

sudo systemctl start mongod

运行此命令后,运行mongo命令。

Windows

  • 打开任务管理器。
  • 单击"服务"选项卡。
  • 搜索 MongoDB 服务。
  • 选择后,单击"查看服务"选项卡。
  • 搜索 MongoDB 服务器。
  • 选择后,单击左上角菜单上的"运行"按钮。

你很好去。

在MacOS上,我执行了第4步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

它奏效了!

对于窗口,

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

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

3(搜索mongoDB并选择它,然后右键单击(单击打开服务(。

4(搜索mongoDB服务器,选择它并单击左侧窗口中的"开始">

现在它已经准备好了

MAC:就我而言,我忘记在本地打开mongo服务器,所以我首先在终端上打开一个新选项卡,然后像这样打开mongodb服务器来解决此问题: -

mongod 

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

mongo 

终于成功了!

我也遇到了同样的问题,这是我如何 resoleved.转到 taskmanager.select>services 并在列表中找到 MongoDBServer 通过选择它来确保 MongoDB 正在运行。

图片来源

相关内容

最新更新