我的主机附带了一个mongodb实例,并且没有/db目录,所以现在我想知道我可以做些什么来找出数据实际存储在哪里。
发布于 2011-09-03 02:00:15
mongod
默认将数据库位置设置为/data/db/
。
如果您运行ps -xa | grep mongod
,但是没有看到一个--dbpath
显式地告诉mongod
查看db位置的参数,并且您的mongodb.conf
中没有dbpath
,那么默认位置将是:/data/db/
,您应该在那里查找。
发布于 2011-08-31 01:53:44
您的配置文件显示了什么内容?
$ grep dbpath /etc/mongodb.conf
如果不正确,请尝试此操作,您的数据库文件将出现在列表中:
$ sudo lsof -p `ps aux | grep mongodb | head -n1 | tr -s ' ' | cut -d' ' -f 2` | grep REG
在我的默认安装(Ubuntu11.04)上它是/var/lib/mongodb/*
。
请注意,为了方便起见,还有一个保存mongod
PID的/var/lib/mongodb/mongod.lock
文件,但是它位于数据目录中--这是我们正在寻找的……
发布于 2018-08-27 17:15:01
如果你能连接到服务器,我发现db.serverCmdLineOpts()
是找到实际路径最可靠的方法。"parsed.storage.dbPath“包含您的服务器当前正在使用的路径,从配置或命令行参数中获取时都可用。
同样,在我的例子中,重要的是要确保配置值反映实际值(即,配置在上次重启后没有改变),这不是这里提供的解决方案所保证的。
db.serverCmdLineOpts()
输出示例:
{
"argv" : [
// --
],
"parsed" : {
"config" : "/your-config",
"storage" : {
"dbPath" : "/your/actual/db/path",
// --
}
},
"ok" : 1.0
}
https://stackoverflow.com/questions/7247474
复制相似问题