我正在研究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 正在运行。
图片来源