MongoDB的默认数据库路径是什么?
我得到一个关于MongoDB的默认数据库路径是什么?,mongodb,Mongodb,我得到一个关于dbpath(/data/db/)不存在的错误,但是/etc/mongodb.conf将其命名为dbpath=/var/lib/mongodb。 那么,哪个是MongoDB的默认dbpath?我在Ubuntu上安装了2.0.7版,它默认为/var/lib/MongoDB/,这也是放在我的/etc/MongoDB.conf文件中的内容。MongoDB的默认dbpath是/data/db 没有默认配置文件,因此您需要在启动mongod时指定此配置文件: mongod --confi
dbpath(/data/db/)不存在的错误,但是/etc/mongodb.conf
将其命名为dbpath=/var/lib/mongodb。
那么,哪个是MongoDB的默认dbpath?我在Ubuntu上安装了2.0.7版,它默认为/var/lib/MongoDB/
,这也是放在我的/etc/MongoDB.conf
文件中的内容。MongoDB的默认dbpath是/data/db
没有默认配置文件,因此您需要在启动mongod
时指定此配置文件:
mongod --config /etc/mongodb.conf
。。或者使用MongoDB的打包安装(例如for或),它将在服务定义中包含一个配置文件路径
注意:要检查正在运行的mongod
的dbpath和命令行选项,请通过mongo
shell连接并运行:
db.serverCmdLineOpts()
特别是,如果设置了自定义dbpath
,则其值为:
db.serverCmdLineOpts().parsed.dbpath // MongoDB 2.4 and older
db.serverCmdLineOpts().parsed.storage.dbPath // MongoDB 2.6+
我取决于版本和发行版
例如,从MongoDB站点下载的pre-2.2默认使用:/data/db
,但Ubuntu安装在一个点上使用:var/lib/MongoDB
我认为这些都已经标准化了,因此2.2+将只使用数据/db
,无论它是从网站直接下载还是从repos下载。对于Windows机器,通过指定dbpath启动mongod
过程:
mongod --dbpath \mongodb\data
参考:Windows x64安装程序在安装程序UI/向导中显示a路径
通过打开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 initandlisten中的存储[initandlisten]异常:不存在路径:数据目录C:\Data\db\not found.,终止
您可以传递mongod
一个--dbpath=…
参数。在我的例子中:
mongod --dbpath="C:\Program Files\MongoDB\Server\4.0\data"
Mongo中的dbPath
可能令人困惑。如果您根本没有指定dbPath
(既不是作为命令行参数,也不是在mongod.conf
文件中),那么它默认为
- Linux和macOS上的
/data/db
- Windows上的
\data\db
但是,安装过程中附带的默认mongod.conf
文件使用以下文件:
站台
包管理器
默认storage.dbPath
RHEL/CentOS和亚马逊
好吃
/var/lib/mongo
苏西
齐珀
/var/lib/mongo
Ubuntu和Debian
恰当的
/var/lib/mongodb
马科斯
酿造
/usr/local/var/mongodb
为什么这本书mongodb:the Financial guide
说它默认为/data/db
?我不知道为什么。这可能是如何构建分发包的一个因素。我使用apt get
安装了我的副本。您是如何安装副本的?您是否仍然收到关于dbpath不存在的错误?在发行版基于打包和服务定义。启动mongod
,不带任何参数,您将获得默认的dbpath/data/db
(唯一的硬编码默认值)。我正在使用Debain,默认值也转到了var/lib/mongodb,以获取从mongo shell到数据库的路径,从2.6.1开始:db.serverCmdLineOpts().parsed.storage.dbpath此答案也适用于Linux