最初设置mongodb时我肯定做错了,因为我的数据没有按照我的意图写入/data/db
。我不知道我的数据存储在哪里(在finner中搜索db naem返回没有结果,我在文档中找不到如何找到当前使用的目录)。我如何安全地指出mongodb使用我想要的目录,同时确保它将所有现有数据移动到新位置?
答案 0 :(得分:1)
更改dbpath的方法是停止mongod实例,将dbpath目录的内容复制到新位置,然后在正确设置新dbpath参数的情况下重新启动它。
首先,为了确定dbpath的当前设置,可以使用getCmdLineOpts命令。以下是如何在mongo shell中使用它:
> db.serverCmdLineOpts()
{
"argv" : [
"mongod",
"--config=/Users/dstorch/foo.conf"
],
"parsed" : {
"config" : "/Users/dstorch/foo.conf",
"dbpath" : "/data/db"
},
"ok" : 1
}
如您所见," parsed.dbpath"将给出dbpath的当前值。
假设您要将dbpath从/ data / db更改为/ data / db2。首先你需要关闭mongod。您可以通过使用Control-C或kill <pid>
发送SIGTERM来执行此操作。第三种选择是运行shutdown命令。
当mongod安全退出时,将数据复制到新位置,然后使用新的dbpath重新启动:
cp -r /data/db /data/db2
mongod --dbpath /data/db2