【问题标题】:How to grant permission for mongodb's mongodump如何授予 mongodb 的 mongodump 权限
【发布时间】:2020-06-26 06:34:59
【问题描述】:

我正在尝试将我的数据库迁移到新机器上。当我在 cmd 中使用 mongodump 时,会出现错误:

Failed: error dumping metadata: error creating directory for metadata file dump\margin_calls: mkdir dump: Access is denied.

我知道我需要授予“备份”权限才能允许此操作,但我不知道如何执行此操作。

编辑:我认为对于熟悉 mongodb 环境的人来说这是一个相当容易的问题?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    我遇到了同样的问题。这是因为您在目录中没有写权限。您可以将命令更改为:

        mongodump --out C:\Users\{YourUser}\Desktop
    

    例如。因此,备份转储存储在桌面的新文件夹中(更改路径以将其存储在其他位置)。

    感谢: https://stackoverflow.com/a/37510708/13811514 对于原始帖子。

    【讨论】:

    • 嗯,我有同样的问题,但 --out 没有帮助。尝试了各种目录,因此 mongodump 将为备份创建一个新目录,但在 metadata.json 步骤仍然失败,访问被拒绝。
    • 更新至上述内容。实际上,当我尝试“--out C:\”时,它终于奏效了。各种用户目录都行不通。
    【解决方案2】:

    根据documentation,有一个内置的backup 角色是为这类事情设计的:

    > use admin
    > db.createUser({
        user: "backupuser",
        pwd: "12345",
        roles: ["backup"]
    }) 
    

    【讨论】:

    • 问题似乎出在客户端文件系统权限上。 (mongodump 没有创建转储文件的权限)我认为此时不需要进行任何数据库更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2022-09-28
    • 2016-08-24
    相关资源
    最近更新 更多