我正在使用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)
之后,您的本地设置将正常运行
不幸的是,上述解决方案都不适合我。查看 mongodb 日志,似乎无法取消链接 .sock 套接字文件,这限制了服务重新启动。手动取消链接并重新启动实际上对我有用。
\n检查 mongodb 日志的最后 100 行:
\nsudo 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"}\nRun Code Online (Sandbox Code Playgroud)\n手动取消链接
\nsudo unlink /tmp/mongodb-27017.sock\nRun Code Online (Sandbox Code Playgroud)\n接下来是启动命令
\n sudo systemctl start mongod\nRun 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\nRun Code Online (Sandbox Code Playgroud)\n
这对我有用(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
成功了!
| 归档时间: |
|
| 查看次数: |
13643 次 |
| 最近记录: |