MongoDB 副本集,initial() 需要登录错误

MongoDB 副本集,initial() 需要登录错误

我正在尝试设置一个副本集,但是当我发出:

rs.initiate()

在第一台服务器上,我收到以下错误:

{ "errmsg" : "need to login", "ok" : 0 }

但这很奇怪,因为在我的配置中auth: true它被注释掉了。

有任何想法吗?

答案1

您可能已auth: true注释掉,但您是否从配置文件中开始--auth--keyFile指定keyFile?设置keyFile隐式启用身份验证,所以这可能是您遇到的问题。

如果您想完全确定,请暂时关闭mongod实例并手动启动它,仅明确指定基本信息(端口、副本集名称等)。这样至少您可以确定哪些功能已启用,哪些功能未启用。

对于正在运行的实例,您可以从实例的日志文件顶部获取解析的当前选项 - 它们作为启动消息的一部分打印出来。您也可以通过运行以下命令获取它们:getCmdLineOpts(但请注意,这需要管理员权限,因此如果您在启用身份验证的情况下运行并且没有定义管理员用户,您可能会看到问题)。

相关内容