我正在使用副本集的碎片构建一个 MongoDB 集群,并设置了第一个副本集和三个运行的配置服务器(全部在 Linux 服务器上),运行的 mongos 实例指向三个配置服务器,但是当连接到 mongos 实例时应用程序服务器(在 Windows Server 2012 Standard x64 上)通过 mongo shell 并根据文档发出 sh.addShard() 命令,我得到以下响应:
> sh.addShard("rs1/xxx:xxx")
{
"note" : "not authorized for command: addShard on database admin",
"ok" : 0,
"errmsg" : "unauthorized"
}
有谁知道我做错了什么?为了安全起见,我正在使用密钥文件运行所有 Mongo 实例。根据这些文档,密钥文件是与 Windows 兼容的文件。