gpt4 book ai didi

mongodb - 使用 mongorestore 将数据库恢复到启用 --auth 的 MongoDB (3.4),SASL 错误

转载 作者:IT老高 更新时间:2023-10-28 13:31:28 27 4
gpt4 key购买 nike

使用 mongorestore,我正在尝试将 MongoDB 数据库恢复到新服务器(两个版本都是 3.4)。新服务器启用了 -auth,因此您需要登录。该数据库不存在,因此我希望 mongorestore 使用 --db 选项创建它。这在未启用授权时有效,但如果我启用授权,则还原失败并出现以下错误:

失败:连接到数据库服务器时出错:服务器在 SASL 身份验证步骤中返回错误:身份验证失败。

当我尝试还原时,我使用的是具有 root 角色的管理员帐户。

备份 prod 并恢复到 dev 对我们来说是一项相当常规的事件,但我们不能因为上述错误而删除现有数据库并重新创建它,除非我们禁用没有多大意义的授权。有没有更好的方法来做到这一点/避免 SASL 错误/不必禁用身份验证?

最佳答案

我遇到了同样的错误,虽然我无法弄清楚我的管理员用户恢复的问题是什么(我的预感是密码中的 ! 转义没有帮助)我能够通过专门为该角色创建一个新用户来恢复。

在 mongo shell 中:

>use admin;

>db.createUser({
user: 'restoreuser',
pwd: 'restorepwd',
roles: ['restore']
});

在终端:

$mongorestore --host databasehost:12345 --username restoreuser --password restorepwd --authenticationDatabase admin --db targetdb ./path/to/dump/

关于mongodb - 使用 mongorestore 将数据库恢复到启用 --auth 的 MongoDB (3.4),SASL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42349047/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com