我遇到了一个错误,提示 dbpath (/data/db/) does not exist
,但是/etc/mongodb.conf
文件中的dbpath = /var/lib/mongodb
。
那么,MongoDB的默认dbpath是什么?
MongoDB的默认dbpath是/data/db/
。
我遇到了一个错误,提示 dbpath (/data/db/) does not exist
,但是/etc/mongodb.conf
文件中的dbpath = /var/lib/mongodb
。
那么,MongoDB的默认dbpath是什么?
MongoDB的默认dbpath是/data/db/
。
/data/db
。mongod
时指定: mongod --config /etc/mongodb.conf
您可以使用MongoDB的打包安装(例如Redhat或Debian/Ubuntu),其中将包括服务定义中的配置文件路径,或者手动安装MongoDB。
注意:要检查运行中的mongod
的dbpath和命令行选项,请通过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
文件中的内容。
/data/db
?我不知道为什么。 - holysapt-get
安装了我的副本。你是如何安装你的副本的?你是否仍然收到关于 dbpath 不存在的错误? - HeatfanJohndbPath
可能会让人感到困惑。如果您根本不指定dbPath
(既不作为命令行参数,也不在mongod.conf
文件中),则它默认为:
/data/db
\data\db
(在当前驱动器上)mongod.conf
文件以及在启动mongod作为服务(例如systemctl start mongod
)时使用的文件是这些:
平台 | 软件包管理器 | 默认的storage.dbPath |
---|---|---|
RHEL / CentOS和Amazon | yum | /var/lib/mongo |
SUSE | zypper | /var/lib/mongo |
Ubuntu和Debian | apt | /var/lib/mongodb |
macOS | brew | /usr/local/var/mongodb |
Windows | MSI | C:\Program Files\MongoDB\Server\{release}\data\ |
mongo
Docker 镜像也默认将 /data/db
作为其默认启动配置文件。 - Simon A. Eugster这取决于版本和发行版。
例如,MongoDB官网下载的pre-2.2版本使用默认路径:/data/db
,但Ubuntu安装使用的路径曾经是:var/lib/mongodb
。
我认为现在已经将其标准化,因此无论是从官网直接下载还是从存储库中获取,2.2+版本都只会使用data/db
路径。
mongod
,您将获得默认的dbpath为/data/db
(唯一硬编码的默认值)。 - StenniedbPath: 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"