MongoDB YAML"无法识别的选项:安全"

时间:2014-04-28 15:47:21

标签: mongodb yaml

我在Windows Server 2012上运行Mongo DB版本2.6。我在设置YAML配置文件时遇到安全和授权问题。当我有下面的配置文件时,我只会收到一条错误,上面写着"无法识别的选项:安全"。我的配置有什么问题?

mongod_test.conf:

security:
    authorization: enabled
    authenticationMechanisms: MONGODB-CR
storage:
   dbPath: F:\MongoData

命令行:

mongod.exe --config mongod_test.conf

我已将空格添加回我的文件并修复了部分问题。使用上面的更新配置,我得到的当前错误是:

c:\MongoDBFolder\bin>mongod.exe --config mongod_test.conf
    Unrecognized option: security.authenticationMechanisms
    try 'mongod.exe --help' for more information

6 个答案:

答案 0 :(得分:16)

无法说出您的确切配置,但Yaml需要冒号+空格来分隔键和值,否则您将获得解析错误;

security:
    authorization: enabled
    authenticationMechanisms: MONGODB-CR
storage:
   dbPath: F:\MongoData

答案 1 :(得分:2)

错误:

Unrecognized option: security.authenticationMechanisms

是因为authenticationMechanisms不属于" security"组态。

根据文件:  http://docs.mongodb.org/manual/reference/configuration-options/#security

但是,根据此文档,authenticationMechanisms是" setParameter"的一个选项:

http://docs.mongodb.org/manual/reference/parameters/#param.authenticationMechanisms

我发现文件令人费解并且令人困惑,但我还没有找到任何与此相矛盾的文件。

所以,鉴于上述情况,我认为你应该看看以下内容:

security:
   authorization: enabled
setParameter:
   authenticationMechanisms: MONGODB-CR    
storage:
  dbPath: "F:\MongoData"

答案 2 :(得分:1)

你可以确保在"之后有空格:"对于键值对行,并将字符串值括在引号中的dbPath值。

答案 3 :(得分:0)

确保配置文件使用ASCII编码。 mongod不支持使用非ASCII编码的配置文件,包括UTF-8。

答案 4 :(得分:0)

尝试设置SSL时遇到了类似的错误,搜索我的问题这是唯一相关的结果,但不是所需的解决方案。

我遇到了错误问题:

  

“无法识别的选项:net.ssl.mode”

问题是mongodb版本。我已经安装了使用brew,它不支持msodb和ssl支持。为了解决这个问题,我不得不使用--with-openssl标志。

brew install mongodb --with-openssl

答案 5 :(得分:0)

还要确保您的标题没有被注释掉 security不是#security