最初设置 mongodb 时,我一定做错了什么,因为我的数据没有/data/db
按我的预期写入。我不知道我的数据存储在哪里(在 finder 中搜索 db naem 不会返回任何结果,而且我无法在文档中找到如何找出当前使用的目录)。如何安全地将 mongodb 指向使用我想要的目录,同时确保它将所有现有数据移动到新位置?
问问题
183 次
1 回答
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>
. 第三种选择是运行关闭命令。
mongod 安全退出后,将数据复制到新位置,然后使用新的 dbpath 重新启动:
cp -r /data/db /data/db2
mongod --dbpath /data/db2
于 2013-09-19T14:28:13.847 回答