0

最初设置 mongodb 时,我一定做错了什么,因为我的数据没有/data/db按我的预期写入。我不知道我的数据存储在哪里(在 finder 中搜索 db naem 不会返回任何结果,而且我无法在文档中找到如何找出当前使用的目录)。如何安全地将 mongodb 指向使用我想要的目录,同时确保它将所有现有数据移动到新位置?

4

1 回答 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 回答