我在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
答案 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