Zoren 16系统MongoDB启动报FileNotOpen错误 重装无效如何解决
问题根因定位
从服务状态日志可直接判断,启动失败的核心原因是MongoDB进程没有权限打开日志文件/var/log/mongodb/mongod.log,属于权限配置异常,和程序本身无关,因此重装MongoDB无法解决问题。
排查解决步骤
- 检查日志目录和文件是否存在
执行命令:ls -ld /var/log/mongodb/ls -l /var/log/mongodb/mongod.log
如果提示目录或文件不存在,先手动创建:
sudo mkdir -p /var/log/mongodb/ sudo touch /var/log/mongodb/mongod.log
修正目录和文件的属主与权限
MongoDB默认以mongodb用户和用户组运行,必须保证日志相关路径的属主为该用户:sudo chown -R mongodb:mongodb /var/log/mongodb/
同时修正权限配置:sudo chmod 755 /var/log/mongodb/sudo chmod 644 /var/log/mongodb/mongod.log检查数据目录权限(避免修复日志后触发新的权限错误)
执行命令查看数据目录属性:ls -ld /var/lib/mongodb/
如果属主不是mongodb,同步修正:sudo chown -R mongodb:mongodb /var/lib/mongodb/重启服务验证
执行命令重启MongoDB:sudo systemctl restart mongod
再查询服务状态确认是否恢复正常:sudo service mongod status
异常触发说明
这类权限问题一般是之前用root用户手动启动过MongoDB,或者手动修改、移动过日志/数据目录的文件导致的,后续不要直接用root身份操作MongoDB相关目录即可避免复现。
内容的提问来源于stack exchange,提问作者Abhinav Robinson
相关产品推荐
相关产品推荐

