ubuntu - MongoDB 仅在 Ubuntu 上以 root 身份运行时才有效 - 数据目录

我使用 official packages 安装了 MongoDB (mongodb-stable),并遵循 Quickstart guide其中包括:

By default MongoDB will store data in /data/db, but it won't automatically create that directory. To create it, do:

$ sudo mkdir -p /data/db/
$ sudo chown `id -u` /data/db

You can also tell MongoDB to use a different data directory, with the --dbpath option.

只有在我运行 sudo mongod 时,MongoDB 才会启动 - 如果我尝试只运行 mongod 我会收到错误:

Mon Mar 14 15:27:07 [initandlisten] couldn't open /data/db/test.ns errno:13 Permission denied
Mon Mar 14 15:27:07 [initandlisten]   couldn't open file /data/db/test.ns terminating
Mon Mar 14 15:27:07 dbexit:

什么给了?

最佳答案

您以 root 身份创建了 /data/db,因此它具有这些权限。您可以更改您的用户帐户的权限,或者您运行 mongo 的任何权限。

chown -R username /data/db

/data

你也可以设置组

chown -R username.groupname

-R 递归执行,因此它会影响您创建的所有以 root 身份运行 mongoDB 的文件。

关于ubuntu - MongoDB 仅在 Ubuntu 上以 root 身份运行时才有效 - 数据目录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5300861/

相关文章:

ruby-on-rails - Mongoid 3 + Heroku (MongoHQ) 导致 Mo

mongodb - Mongorestore 到不同的数据库

mongodb - 在 Mongo Compass 上按 ObjectId 搜索

mongodb - mongoexport 聚合导出到 csv 文件

php - Mongodb php获取新文档的ID?

mongodb - 在键值数据存储中存储目录层次结构

node.js - 如何在 Mongoose 中执行 id 数组查询?

mongodb - 在单个查询中从 mongo 中删除多个文档

java - 如何使用 Java 驱动程序为 MongoDB 构建 $or 查询?

javascript - 使用 MongoDB 和 Nodejs 插入和查询日期