69

我收到一个关于 的错误dbpath (/data/db/) does not exist,但/etc/mongodb.conf将其命名为dbpath = /var/lib/mongodb. 那么,MongoDB 的默认 dbpath 是哪一个?

4

6 回答 6

82

mongodb 的默认 dbpath 是/data/db.

没有默认配置文件,因此您需要在开始时指定mongod

 mongod --config /etc/mongodb.conf

.. 或使用 MongoDB 的打包安装(例如RedhatDebian/Ubuntu),它将在服务定义中包含配置文件路径。

注意:要检查运行的 dbpath 和命令行选项mongod,请通过mongoshell 连接并运行:

db.serverCmdLineOpts()

特别是,如果dbpath设置了自定义,它将是以下值:

db.serverCmdLineOpts().parsed.dbpath           // MongoDB 2.4 and older
db.serverCmdLineOpts().parsed.storage.dbPath   // MongoDB 2.6+
于 2012-10-05T02:06:59.873 回答
23

我在 Ubuntu 上安装了 2.0.7 版本,它默认为/var/lib/mongodb/,这也是我放入/etc/mongodb.conf文件的内容。

于 2012-10-05T01:40:28.707 回答
15

对于 Windows 机器,mongod通过指定 dbpath 来启动进程:

mongod --dbpath \mongodb\data

参考:管理mongod流程

于 2014-07-10T02:53:13.677 回答
10

我取决于版本和发行版。

例如,来自 MongoDB 站点的默认下载 pre-2.2 使用:/data/db但 Ubuntu 安装曾经使用:var/lib/mongodb.

我认为这些现在已经标准化,因此 2.2+ 将只使用data/db来自站点上的直接下载或来自 repos 的。

于 2012-10-05T07:11:52.833 回答
5

Windows x64 安装程序在安装程序 UI/向导中显示路径。

mongod.cfg您可以通过打开文件来确认它稍后使用的路径。我mongod.cfg的位于此处C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg(更改您的 MongoDB 版本!

当我打开我的时mongd.cfg,我发现了这一行,显示了默认的数据库路径:

dbPath: C:\Program Files\MongoDB\Server\4.0\data

但是,这在尝试运行时导致了错误,该错误mongod仍然期望找到C:\data\db

2019-05-05T09:32:36.084-0700 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory C:\data\db\ not found., terminating

你可以传递mongod一个--dbpath=...参数。就我而言:

mongod --dbpath="C:\Program Files\MongoDB\Server\4.0\data"
于 2019-05-05T16:31:41.537 回答
3

dbPathMongo 中可能会令人困惑。如果您根本不指定dbPath(既不作为命令行参数也不在mongod.conf文件中),那么它默认为

  • /data/db在 Linux 和 macOS 上
  • \data\db在 Windows 上(在当前驱动器上)

但是,安装随附的默认 mongod.conf文件使用以下文件:

平台 包管理器 默认storage.dbPath
RHEL / CentOS 和亚马逊 百胜 /var/lib/mongo
苏塞 齐珀 /var/lib/mongo
Ubuntu 和 Debian 易于 /var/lib/mongodb
苹果系统 酿造 /usr/local/var/mongodb
视窗 微星 C:\Program Files\MongoDB\Server\{release}\data\

因此,您必须仔细检查您使用的是什么。

请参阅运行时数据库配置

于 2021-04-11T08:55:28.123 回答