我在使用mongodb时遇到了以下问题。
当我检查状态时,出现以下错误:
错误截图 (mongodb.service, 状态 14)
我尝试按照网站上的每一步卸载mongodb,然后重新安装所有内容,但是当我检查状态时,仍然会出现相同的错误。我已经发布了错误的截图。 如果有人能帮我解决这个问题,我将不胜感激。
将/var/lib/mongodb和/tmp/mongodb-27017.lock的所有者更改为mongodb用户对我有效。
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
sudo systemctl enable --now mongod
和 sudo systemctl status mongod
,这对我起作用了! - Athif Saheer从日志中看,您以前有一次非正常关机。或者,这也可能表明mongod
已经在运行了。
首先,请确保mongod
尚未在运行。
ps aux | grep mongod
如果不是,删除该文件:
rm /tmp/mongodb-27017.sock
然后尝试运行systemctl start mongod
以重新启动MongoDB。
在命令行中重新启动后,问题得到了解决。不知道为什么停止mongo并卸载和安装它后问题没有得到解决,但是重新启动后一切都正常了。
我曾经遇到过类似的问题,虽然权限都没问题,但服务始终无法启动。我查看了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 服务。现在它应该已经运行起来了。
这对我在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
CentOS Stream 8
同样也发生了同样的情况。
mongodb服务的用户为mongo
,组也为mongo
。
sudo chown mongod:mongod /tmp/mongodb-27017.sock
检查日志文件后解决了问题,显示mongodb-27017.sock
启动失败。
chown -R mongodb:mongodb /var/lib/mongodb chown mongodb:mongodb /tmp/mongodb-27017.sock这段内容与编程有关,意思是将/var/lib/mongodb目录下的所有文件和子目录的所有者和所属组都改为mongodb:mongodb,同时将/tmp/mongodb-27017.sock文件的所有者和所属组也改为mongodb:mongodb。
我有类似的问题。SELinux 阻止了正常的执行。 因此,我做了以下操作:
# ausearch -c 'mongod' --raw | audit2allow -M my-mongod
# semodule -X 300 -i my-mongod.pp
然后:
$ sudo systemctl start mongod
并检查:
sudo systemctl status mongod
/var/log/mongodb/mongod.log
文件,看看里面是否有任何有趣的内容。 - yaoxing