我收到一个关于 的错误dbpath (/data/db/) does not exist
,但/etc/mongodb.conf
将其命名为dbpath = /var/lib/mongodb.
那么,MongoDB 的默认 dbpath 是哪一个?
6 回答
mongodb 的默认 dbpath 是/data/db
.
没有默认配置文件,因此您需要在开始时指定mongod
:
mongod --config /etc/mongodb.conf
.. 或使用 MongoDB 的打包安装(例如Redhat或Debian/Ubuntu),它将在服务定义中包含配置文件路径。
注意:要检查运行的 dbpath 和命令行选项mongod
,请通过mongo
shell 连接并运行:
db.serverCmdLineOpts()
特别是,如果dbpath
设置了自定义,它将是以下值:
db.serverCmdLineOpts().parsed.dbpath // MongoDB 2.4 and older
db.serverCmdLineOpts().parsed.storage.dbPath // MongoDB 2.6+
我在 Ubuntu 上安装了 2.0.7 版本,它默认为/var/lib/mongodb/
,这也是我放入/etc/mongodb.conf
文件的内容。
我取决于版本和发行版。
例如,来自 MongoDB 站点的默认下载 pre-2.2 使用:/data/db
但 Ubuntu 安装曾经使用:var/lib/mongodb
.
我认为这些现在已经标准化,因此 2.2+ 将只使用data/db
来自站点上的直接下载或来自 repos 的。
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"
在dbPath
Mongo 中可能会令人困惑。如果您根本不指定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\ |
因此,您必须仔细检查您使用的是什么。
请参阅运行时数据库配置