将mongodb数据库移动到新位置

时间:2013-09-19 14:00:35

标签: mongodb

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

1 个答案:

答案 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