尝试通过security.authorization配置参数启用授权启动mongo时出错(请参阅http://docs.mongodb.org/manual/reference/configuration-options/#security.authorization)
在运行mongod时我得到了
Error parsing INI config file: unknown option security.authorization
try 'mongod --help' for more information
有什么想法吗? 感谢
支持数据:
启动命令:
mongod -f /usr/local/etc/mongod.conf
mongod.conf文件(如果我注释掉security.authorization则工作正常):
# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /usr/local/var/mongodb
# Append logs to /usr/local/var/log/mongodb/mongo.log
logpath = /usr/local/var/log/mongodb/mongo.log
logappend = true
# Only accept local connections
bind_ip = 127.0.0.1
# auth
security.authorization = enabled
#security.authenticationMechanisms = MONGODB-CR #error occurs with or without this
发生这种情况时,mongo.log文件中没有输入
答案 0 :(得分:4)
注意:我会把它写成评论,但我还没有得分。
只是想知道你想要实现的是身份验证吗?如果是这种情况,您需要在mongodb.conf
中设置的只有:
# auth
auth = true # true or false. Whether or not authentication is required.
- 更新:
其他一些重要的步骤:
配置数据库位置:在mongodb.conf
中设置为(您已经拥有此功能,但应检查目录和权限是否存在):
# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /usr/local/var/mongodb
# Append logs to /usr/local/var/log/mongodb/mongo.log
logpath = /usr/local/var/log/mongodb/mongo.log
logappend = true
不要忘记确保上面的/usr/local/var/mongodb
目录和/usr/local/var/log/mongodb/
目录存在。您使用的安装程序可能没有使用它们。
为mongodb创建一个操作系统用户:(如果尚未创建一个 - 这是在linux上的方式,对osx不确定) - 以root身份:
adduser --system --no-create-home --disabled-login --disabled-password --group mongodb
如果文件夹尚未设置,请添加权限:
chown mongodb:mongodb -R /usr/local/var/mongodb
设置数据库用户授权/权限:
请参阅此处的命令参考:http://docs.mongodb.org/manual/reference/command/#database-commands
答案 1 :(得分:1)
MongoDB服务器配置文件格式已从版本2.6更改,但旧格式仍可正常工作。
http://docs.mongodb.org/manual/reference/configuration-options/
在2.6版中更改:MongoDB引入了基于YAML的配置文件格式。 2.4配置文件格式仍然是为了向后兼容。
错误是由于您的配置文件使用旧格式并使用新格式添加参数 security.authorization = enabled 的原因。您可以通过以下方式修复问题: 使用http://docs.mongodb.org/v2.4/reference/configuration-options
中提到的旧格式设置auth = true
或将conf文件转换为新的YAML格式。