MongoDB 运行 service mongod start 后服务没有启动成功
2021/11/23 19:12:50
本文主要是介绍MongoDB 运行 service mongod start 后服务没有启动成功,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题描述
查看日志(/var/log/mongodb/mongodb.log)有如下信息
Wiredtiger error(13).....file:WiredTiger.wt,connection:/var/lib/mongodb/WiredTiger.turtle:handle-open:open:Permission denied
问题出现原因
- 1、权限问题。
service mongod start
启动时使用的用户默认为mongodb
,具体可查看系统文件(/lib/systemd/system/mongod.service
)
其中含有
[Service] User=mongodb Group=mongodb
然后在查看(/var/lib/mongodb/WiredTiger.turtle
)的文件权限,使用命令
cd /var/lib ls -l /var/lib/mongodb
查看权限发现 WiredTiger.turtle
以及其他若干个文件的权限为 root
所以由于mogodb用户的权限无法访问root权限下的文件造成服务启动失败。
但是为什么这几个文件的权限会变为root呢?
我的原因是曾经使用过root用户操作过数据库(在rootx下使用mongod命令等),导致文件的权限变化从而无法再使用(service mongod start)。
解决方案
方案一:
# storage.dbPath chown -R mongodb:mongodb /var/lib/mongodb # systemLog.path sudo chown -R mongodb:mongodb /var/log/mongodb
将数据文件权限改回mongodb
然后再次启动 service mongo start
就可以了,但是如果在以root用户去操作数据库仍会出现上述问题。同时官方极不推荐在root用户下使用数据库。
方案二(从安全性考虑不推荐):
修改
/lib/systemd/system/mongod.service
中的user
为root
,Group
为root
。
然后再次启动 service mongod start
这篇关于MongoDB 运行 service mongod start 后服务没有启动成功的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用
- 2024-10-24AI ?先驱齐聚 BAAI 2024,发布大规模语言、多模态、具身、生物计算以及 FlagOpen 2.0 等 AI 模型创新成果。
- 2024-10-20goland工具下,如修改一个项目的标准库SDK的版本-icode9专业技术文章分享
- 2024-10-17Go学习:初学者的简单教程
- 2024-10-17Go学习:新手入门完全指南
- 2024-10-17Golang学习:初学者入门教程
- 2024-10-17Golang学习:新手入门教程
- 2024-10-17Gozero学习指南:初学者必备教程