如何使用mongodb进行备份

问题描述 投票:0回答:1

当我想要备份时,我面对这个命令

mongodump -d databasename -u admin -p -o / home

I encounter an error Errmsg: "auth faild",code:18}

但是有了这个用户并通过我可以连接到数据库但是我希望断开身份验证我将获得备份

谢谢

mongodb
1个回答
0
投票

此消息表明mongodump无法对mongod进行身份验证。有几个可能的原因。看看the docs,我们可以看到关于-p选项的以下注释。

在3.0.0版中更改:如果没有为--password指定参数,mongodump将返回错误。

在版本3.0.2中更改:如果您希望mongodump提示用户输入密码,请传递--username选项而不使用--password或指定空字符串作为--password值,如--password“”。

在您提供的示例命令中,只有一个-p,这意味着它需要一个密码。

此外,缺少--authenticationDatabase选项。查看mongodump的文档:

指定用户在其中创建的数据库。请参阅验证数据库

如果未指定身份验证数据库,则mongodump假定指定为export的数据库保存用户的凭据。

如果未指定身份验证数据库或要导出的数据库,mongodump会假定admin数据库保存用户的凭据。

由于指定了-d参数,mongodump将尝试对该数据库进行身份验证。用户更有可能存在于admin数据库中。

考虑到所有这些因素,请尝试以下命令:

mongodump -d <databasename> -u <user> --authenticationDatabase admin -o /home

此命令将通过stdin提示您输入密码。如果要在命令行上指定密码,则命令将更改为

mongodump -d <databasename> -u <user> --authenticationDatabase admin -p <password> -o /home

请将<databasename><user><password>替换为适合您环境的值。

© www.soinside.com 2019 - 2024. All rights reserved.