Process: 666845 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14) Main PID: 666845 (code=exited, status=14)
在网上查了很多教程没有解决,在和ai对话过程中解决了(也不是一下就解决的
我的设备:Ubuntu20.04 MongoDB 6.0.14 (安装教程按我写的上一篇安装的,第一次安装是成功的,后面因为我添加用户出了些问题,一直报错,然后记录下解决方案
第一步,查看日志
journalctl -u mongod.service
找到error的部分,之前我的日志中出现的错误还有,/var/lib/mongodb/data文件夹不存在,/tmp/mongodb-27017.sock没有权限。上图中错误显然是data文件夹没有权限。
第二步,对error部分进行解决
对于/tmp/mongodb-27017.sock没有权限的解决办法,网上很多人给的是
sudo chown mongod:mongod /tmp/mongodb-27017.sock
sudo chmod 600 /tmp/mongodb-27017.sock
我试了很多次都不行,MongoDB服务通常以特定用户(如 mongod
或 mongodb
)运行,因此 /tmp/mongodb-27017.sock
应该归属于该用户和对应的组,并且拥有合适的读写权限。我的MongoDB的特定用户是mongodb而不是mongod
,如果有这条命令出问题的可以换下用户,正因为MongoDB服务通常以特定用户运行的原因才会出现权限问题。
对于/var/lib/mongodb/data只读 没有权限的方法
sudo chmod -R 755 /var/lib/mongodb/data
sudo chown -R mongodb:mongodb /var/lib/mongodb/data
再说一遍MongoDB服务通常以特定用户(如 mongod
或 mongodb
)运行,这两个用户名适合自己的才能正常运行,否则出现chown: invalid user: ‘mongod:mongod’
第三步,解决之后重启启动,然后查看运行状态,如果还是报错重复第一步从查看日志开始排查。
sudo systemctl start mongod
sudo systemctl status mongod