我怎么知道mongoDB在哪里存储数据? (它不在默认的/ data / db!)

我的主机带有一个mongodb实例,并没有/ db目录,所以现在我想知道我可以做什么来找出数据实际存储在哪里。

mongod默认数据库位置为/data/db/

如果你运行ps -xa | grep mongod ps -xa | grep mongod而且你没有看到一个明确告诉mongod查看db位置参数的mongodb.conf ,并且你的mongodb.conf没有dbpath ,那么缺省位置是: /data/db/你应该看看那里。

你的configuration文件说什么?

 $ grep dbpath /etc/mongodb.conf 

如果不正确,请尝试以下操作:数据库文件将出现在列表中:

 $ sudo lsof -p `ps aux | grep mongodb | head -n1 | tr -s ' ' | cut -d' ' -f 2` | grep REG 

在我的默认安装(Ubuntu 11.04)上是/var/lib/mongodb/*

请注意,为了方便起见,还有一个保存mongod PID的/var/lib/mongodb/mongod.lock文件,但它位于数据目录中 – 我们正在寻找…

在较新版本的mongodb v2.6.4中试试:

 grep dbpath /etc/mongod.conf 

它会给你这样的东西:

 dbpath=/var/lib/mongodb 

这就是它存储数据的地方。

根据我的经验,默认位置是/var/lib/mongodb

 sudo apt-get install -y mongodb-org 

我在OSX系统/ usr / local / var / mongodb上find了我的

只需在/var/dbfind它即可。 感谢您的帮助,但我相信这些答案适用于其他系统(如Ubuntu),并会帮助其他人!

如果MongoDB以默认方式设置为Windows服务,通常可以通过查看MongoDB服务的属性中的“可执行文件的path”条目find它:

属性窗口显示“可执行的路径”选项

实际上,mongod实例存储其数据的默认目录是

/data/db Linux /data/db OS X上的/data/db

\data\db在Windows上

如果您使用软件包pipe理系统安装了MongoDB ,请检查软件包提供的/etc/mongod.conf文件以查看指定的目录。

storage.dbPath设置仅适用于mongod

Linux包init脚本不要求storage.dbPath从默认值更改。 如果使用Linux软件包并更改storage.dbPath ,则必须使用自己的init脚本并禁用内置脚本。

当你启动它显示你。 但是我不知道你是否可以在你的主机上做这件事。 如果您有权访问命令行并可以重新启动服务,那么您将得到如下所示的内容:

  2016-11-15T12:57:09.182-0500 I CONTROL [initandlisten] MongoDB starting : pid=16448 port=27017 dbpath=C:\data\db\ 

如果你能以某种方式findmongod.log并且在其上执行grep

 grep dbpath mongod.log 

dbpath的值是mongodb的数据位置! 祝一切顺利 :)