MongoDB副本集,启动()需要login错误

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

rs.initiate() 

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

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

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

有任何想法吗?

你可能有auth: true注释掉了,但是你是以--auth还是--keyFile还是在configuration文件中指定keyFile ? 设置keyFile隐式启用authentication,所以这可能是你的问题。

如果您想要完全确定,请暂时closuresmongod实例并手动启动它,并明确指定基本信息(端口,副本集名称等)。 至less可以确定什么是和不是启用的。

对于正在运行的实例,您可以从实例的日志文件的顶部获取当前选项 – 它们作为启动消息的一部分打印出来。 您也可以通过运行getCmdLineOpts来获取它们(请注意,这需要pipe理员权限,因此如果您使用auth运行并且没有定义pipe理员用户,您可能会遇到问题。