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

时间:2012-10-05 01:31:52

标签: mongodb

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

6 个答案:

答案 0 :(得分:64)

mongodb的默认dbpath是/data/db

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

 mongod --config /etc/mongodb.conf

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

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

db.serverCmdLineOpts()

特别是,如果设置了自定义dbpath,则其值为:

db.serverCmdLineOpts().parsed.dbpath           // MongoDB 2.4 and older
db.serverCmdLineOpts().parsed.storage.dbPath   // MongoDB 2.6+

答案 1 :(得分:19)

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

答案 2 :(得分:13)

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

mongod --dbpath \mongodb\data

参考:Manage mongod Processes

答案 3 :(得分:7)

我取决于版本和发行版。

例如,来自MongoDB网站的2.2之前的默认下载使用:/data/db但是Ubuntu安装在某一时刻曾经使用过:var/lib/mongodb

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

答案 4 :(得分:1)

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

  • /data/db 在 Linux 和 macOS 上
  • \data\db 在 Windows 上

但是,安装附带的默认 mongod.conf 文件使用这些文件:

<头>
平台 包管理器 默认storage.dbPath
RHEL / CentOS 和亚马逊 好吃 /var/lib/mongo
SUSE zypper /var/lib/mongo
Ubuntu 和 Debian 合适 /var/lib/mongodb
macOS 酿造 /usr/local/var/mongodb

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

Run-time Database Configuration

答案 5 :(得分:0)

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"