MongoDB:initAndListen 中的异常:20 尝试在只读目录:/data/db 上创建锁定文件,终止

标签 mongodb

我在根目录下创建了 /data/db 并运行了 ./mongod:

[initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating
[initandlisten] shutdown: going to close listening sockets...
[initandlisten] shutdown: going to flush diaglog...
[initandlisten] now exiting
[initandlisten] shutting down with code:100

最佳答案

问题是您创建的目录 /data/db 由 root 用户拥有并且只能由 root 用户写入,但您正在以自己的身份运行 mongod。有几种方法可以解决这个问题,但最终,您必须为有问题的目录授予正确的权限。如果这是用于生产,我建议您查看文档并仔细考虑这一点——您可能需要特别小心。

但是,如果这只是为了测试,并且您只需要它来工作并继续使用它,您可以尝试这个,这将使每个人都可以写入目录:

> sudo chmod -R go+w /data/db

或者这个,这将使目录归你所有:

> sudo chown -R $USER /data/db

关于MongoDB:initAndListen 中的异常:20 尝试在只读目录:/data/db 上创建锁定文件,终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42446931/

相关文章:

node.js - nodejs中用于测试和开发的不同环境变量

mongodb - Fluentd 不将解析的日志发送到 Mongo

node.js - 将 MongoDB 集合迭代为 pug

ruby-on-rails - Mongoid w/Rails,attr_accessible --> "No method found"

algorithm - MongoDB 查找和删除算法复杂性

php - yii2 mongodb 迁移不起作用

mongodb - BasicBSONList 只能使用数字键,不能使用 : [_id]

java - 将数百万个 JSON 文档导入 MongoDB 的最快方法

c# - 如何在 Mongo Server 4.0 上的 C# 驱动程序 2.7.0 中执行 db.collection.explain()?

node.js - 如何查询电子邮件与 example@gmail.com 匹配的嵌套文档的嵌套文档