我正在尝试使用 mongo 3.0.7 中的 mongorestore 恢复一个大文件。prod079 文件夹下的所有文件都已成功恢复,除了一个名为 system.users 的文件。用于恢复的命令是
mongorestore -u testdba -p xxxxxx -d prod079 /data/backup --batchSize=1
上面的命令从同一个文件夹中恢复了 400GB 的数据,但似乎仅凭这个文件就失败了。
我收到这样的错误:
错误:在 prod079 上未授权执行命令 { 插入:“system.users”,文档:[ { _id:ObjectId('531e5251864fb4e84b'),密码:“xxxxxxxx”,角色:[“dbAdmin”,“readWrite”,“userAdmin " ], 用户: "ab" } ], writeConcern: { getLastError: 1, w: 1 }, 有序: false }
2015-12-10T13:20:49.196-0500 错误:在 prod079 上未授权执行命令 { 插入:“system.users”,文档:[ { _id:ObjectId('531e5251864fb4e84c'),用户:“abuser”,密码: “xxxxxxxx”,角色:[“read”]}],writeConcern:{getLastError:1,w:1},ordered:false}
2015-12-10T13:20:49.196-0500 错误:在 prod079 上未授权执行命令 { 插入:“system.users”,文档:[ { _id:ObjectId('5452840f169afa3a2'),用户:“asmeta”,密码: “xxxxxxxx”,角色:[“read”]}],writeConcern:{getLastError:1,w:1},ordered:false}
所以基本上我得到了很多这样的错误。我尝试在 stackoverflow 和 google 上寻找类似的错误,但我能找到的只是包含 -d 或包含 localhost。然后我发现一个帖子说我没有为 testdba 用户授予 userAdmin/userAdminAnyDatabase 权限。这次我尝试以具有 userAdmin/userAdminAnyDatabase 权限的管理员用户身份运行。我使用的命令是:
mongorestore -u admin -p xxxxx -d prod079 /data/backup --batchSize=1
这次我遇到了不同类型的错误。它说 :
2015-12-10T13:17:59.940-0500 失败:连接到数据库服务器时出错:服务器在 SASL 身份验证步骤中返回错误:身份验证失败。
现在我真的很困惑正在发生的事情以及为什么我独自面对这个文件的问题。另外,当我尝试以管理员身份恢复时,我无法理解为什么会出现如此不同的错误。
任何建议/帮助将不胜感激。