我在使用mongodb时遇到以下问题。
这是我检查状态时的错误:
Screenshot of the error(mongodb.service,状态14)
Screenshot of code in the mongod.config file
我尝试从网站上的每个步骤开始卸载mongodb并重新安装所有内容,当我检查状态时仍然遇到相同的错误。我已经发布了错误的屏幕截图。 如果这很重要,我正在使用MacBook Pro。
如果有人可以帮助我解决此问题,我将非常感谢。
答案 0 :(得分:21)
通过将所有者更改为monogdb用户 / var / lib / mongodb和/tmp/mongodb-27017.lock对我有用。
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
答案 1 :(得分:2)
这在Ubuntu 18.04上对我有用
Go to the TMP directory: cd /tmp
Check if you have the mongodb sock file: ls *.sock
Change the user:group permission: chown mongodb:mongodb <YOUR_SOCK>
Start MongoDB: sudo service mongod start
Check the MongoDB status: sudo service mongod status
如果这不起作用,您可以尝试
sudo reboot
答案 2 :(得分:2)
我遇到了类似的问题,即使权限一切正常,服务也无法启动。我查看了 mongodb 日志
sudo tail -40 /var/log/mongodb/mongod.log
说数据库意外关闭,需要修复。我跑了
sudo mongod --repair --config /etc/mongod.conf
这修复了数据库,但现在更改了权限。您将需要再次执行 chown 步骤。
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
启动mongod服务。它将立即启动并运行。
答案 3 :(得分:1)
从日志看来,您之前曾经执行过不正常关机。或者,它也可能表明mongod
已经在运行。
首先,确保mongod
尚未运行
ps aux | grep mongod
如果不是,请删除文件: rm /tmp/mongodb-27017.sock
然后尝试systemctl start mongod
重新启动MongoDB。
答案 4 :(得分:0)
在命令行中重新启动后,它已解决问题,不知道为什么在停止mongo并卸载并安装它后仍无法解决问题,但是重新启动后一切正常。
答案 5 :(得分:0)
我有一个类似的问题。是SELinux阻止了正常执行。 所以,我做到了:
# ausearch -c 'mongod' --raw | audit2allow -M my-mongod
# semodule -X 300 -i my-mongod.pp
然后:
$ sudo systemctl start mongod
并检查:
sudo systemctl status mongod