MongoDB的默认数据库路径是什么?

hol*_*lys 59 mongodb

我收到一个错误dbpath (/data/db/) does not exist,但/etc/mongodb.conf命名为dbpath = /var/lib/mongodb. So,这是MongoDB的默认dbpath?

Ste*_*nie 71

mongodb的默认dbpath是/data/db.

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

 mongod --config /etc/mongodb.conf
Run Code Online (Sandbox Code Playgroud)

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

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

db.serverCmdLineOpts()
Run Code Online (Sandbox Code Playgroud)

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

db.serverCmdLineOpts().parsed.dbpath           // MongoDB 2.4 and older
db.serverCmdLineOpts().parsed.storage.dbPath   // MongoDB 2.6+
Run Code Online (Sandbox Code Playgroud)

  • 从mongo shell获取数据库的路径是从2.6.1开始:db.serverCmdLineOpts().parsed.storage.dbPath (4认同)

Hea*_*ohn 21

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


Abh*_*bhi 15

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

mongod --dbpath \mongodb\data
Run Code Online (Sandbox Code Playgroud)

参考:管理mongod流程


Wer*_*eit 13

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

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

但是,安装时附带的默认 文件以及将 mongod 作为服务启动时使用的默认文件(例如)使用以下文件:mongod.confsystemctl start mongod

平台 包管理器 默认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\

因此,您必须仔细检查您正在使用的内容。

请参阅运行时数据库配置

  • 默认的 `mongo` docker 镜像也默认为 `/data/db`,因为它默认启动时没有配置文件。 (2认同)

Sam*_*aye 8

我取决于版本和发行版.

例如,来自MongoDB站点的2.2之前的默认下载使用:/data/db但是Ubuntu安装在某一点上用于:var/lib/mongodb.

我认为这些已经标准化,因此2.2+只会使用data/db它来自网站上的直接下载还是来自回购.

  • 发行版的差异基于包装和服务定义。不带任何参数启动 `mongod`,您将获得默认的 dbpath `/data/db` (唯一的硬编码默认值)。 (2认同)
  • 我正在使用Debain,默认也是var/lib/mongodb (2认同)

The*_*Pea 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
Run Code Online (Sandbox Code Playgroud)

但是,这在尝试运行时导致了错误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"
Run Code Online (Sandbox Code Playgroud)