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

Arc*_*rma 3 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
Run Code Online (Sandbox Code Playgroud)

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

Arc*_*rma 13

mongod --repair为我工作,

sudo mongod --repair
sudo mongod
Run Code Online (Sandbox Code Playgroud)

然后打开另一个选项卡/终端:

mongo
Run Code Online (Sandbox Code Playgroud)

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

  • 有没有办法运行`sudo mongod`并关闭终端? (2认同)

Pra*_*das 8

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

\n

检查 mongodb 日志的最后 100 行:

\n
sudo tail -100 /var/log/mongodb/mongod.log\n\n\n{"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"}}\n{"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}}\n{"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"}\n
Run Code Online (Sandbox Code Playgroud)\n

手动取消链接

\n
sudo unlink /tmp/mongodb-27017.sock\n
Run Code Online (Sandbox Code Playgroud)\n

接下来是启动命令

\n
 sudo systemctl start mongod\n
Run Code Online (Sandbox Code Playgroud)\n

返回成功状态:)

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


Dee*_*rma 7

这对我有用(MAC)

步骤1:检查状态,如果MongoDB正在运行

brew services list | grep mongo
Run Code Online (Sandbox Code Playgroud)

第2步:如果您得到类似的信息:

Name           Status  User    Plist
mongodb        stopped
Run Code Online (Sandbox Code Playgroud)

步骤3:启动服务:

brew services start mongodb 
Run Code Online (Sandbox Code Playgroud)

其他:

如果您在第2步后得到了这样的结果:

Name           Status  User    Plist
mongodb        started u1 /Users/u1/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Run Code Online (Sandbox Code Playgroud)

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

brew services restart mongodb
Run Code Online (Sandbox Code Playgroud)


小智 6

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

sudo systemctl start mongod
Run Code Online (Sandbox Code Playgroud)

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


小智 5

在 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

成功了!


小智 5

视窗

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

你很高兴去。