我怎么知道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/db
find它即可。 感谢您的帮助,但我相信这些答案适用于其他系统(如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的数据位置! 祝一切顺利 :)