如何修复 MongoDB 'exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /var/lib/mongodb, terminating'

问题:

当尝试启动 MongoDB(例如使用 sudo systemctl start mongod)时,进程以状态码 100 终止,你在 /var/log/mongodb/mongodb.log 中看到此错误消息:

mongodb_lockfile_readonly.txt
2019-07-22T17:11:07.858+0200 I STORAGE  [initandlisten] exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /var/lib/mongodb, terminating

解决方案

修复 /var/lib/mongodb 的权限:

fix_mongodb_permissions.sh
sudo chown -R mongodb: /var/lib/mongodb

然后重启 MongoDB,例如使用

restart_mongodb.sh
sudo systemctl restart mongod

如果这没有帮助,检查你的错误消息是否使用了不同于 /var/lib/mongodb 的数据目录。在这种情况下运行

fix_mongodb_permissions_custom.sh
sudo chown -R mongodb: <insert your data directory here>

如果不是这种情况或也没有帮助,检查你的文件系统是否以只读模式挂载。


Check out similar posts by category: MongoDB