【问题标题】:MongoDb - copy one database to another keeping the users alsoMongoDb - 将一个数据库复制到另一个数据库,同时保留用户
【发布时间】:2014-10-10 10:39:49
【问题描述】:

我想从一个 mongo 数据库复制到同一服务器上的另一个数据库。 Mongo 版本是 Win 2008 64bit 上的 2.6.3。

我运行了命令:

mongo localhost:27017/admin -u -p --eval "db.copyDatabase('db_master','db_copy1')"

这有效并创建了包含所有用户的 db_copy1。我在 db_copy1 上做了 db.getUsers() 并返回了所有用户。一切都很好。

然后我继续使用上面相同的命令将数据库 db_copy1 复制到 db_copy2 (显然具有不同的数据库名称)。但生成的 db_copy2 中没有用户。

对 mongo 相当陌生,所以我很可能错过了一些东西。

提前感谢您的帮助! 维克拉姆

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    我喜欢 Mongodb 的一件事是,您可以直接复制文件,而不是乱用类似的命令。

    只需转到其中包含数据文件的目录并将它们复制到新数据库的 dbpath 即可。如果您不想要某个数据库,请不要复制具有该数据库名称的文件!

    【讨论】:

    • 谢谢。知道这一点很有帮助。复制文件时,我得到相同的行为。当我运行 db.getUsers() 时,db_master 返回一个用户。然后复制 db_master.* 文件并将它们重命名为 db_master_copy,我可以在 show dbs 中看到这个新数据库。但是对于这个新数据库,如果我执行 db.getUsers(),它会返回空值。不知道发生了什么。用户信息是否存储在其他地方?
    • 我确定它存储在同一个地方!哦,好吧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    相关资源
    最近更新 更多