我试图通过配置文件在mongodb版本v3.4.3中启用身份验证,但它不起作用。
以下工作:sudo mongod --auth --port 27017 --dbpath /var/lib/mongodb
我可以通过认证访问
下面的工作也是如此
sudo service mongod start,但只有在配置文件(即/etc/mongod.conf)中,我没有设置授权:已启用
当我添加授权:已启用(如该版本的文档中所述)时,我不能再启动mongod。它给出了一个错误,说明我的数据库文件夹不存在,因此我假设配置文件已损坏,并且不再读取/var/lib/mongodb中的数据库文件夹。
如有任何建议,敬请见谅。
这里是完整的配置文件(标准配置文件,除了我添加了授权)
ubuntu@IP172-31-28-105:~$ cat /etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
#security:
authorization: enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:发布于 2017-03-31 18:34:41
有几个问题:
首先,在运行mongod时,必须始终声明配置文件。否则,它将/data/db作为数据库文件夹。因此,运行它的方式是通过mongod --config /etc/mongod.conf,并且标准配置包含dbPath: /var/lib/mongodb作为数据库文件夹。
其次,配置文件需要如下所示。需要移除安全性前面的#。
security:
authorization: enabled第三,为了使start service mongod start工作,有必要调整mongodb数据库文件夹中的权限,因此mongodb用户有权向他们写入(这不是文档中的内容,但是对于任何有足够经验的人来说,这可能是不言自明的)。这需要用chown来完成,因为脚本将使用mongdb作为用户(而不再使用sudo)。
第四,我使用的是ubuntu16,所以sudo service mongod start无法工作。这需要通过sudo systemctl start mongodb来完成。mongodb文档中也没有正确地提到这一点。
发布于 2017-03-30 05:17:58
mongodb配置文件是YAML文件。此外,您不能在mongodb的配置文件中使用选项卡。总是使用空格。在配置文件中,您已经注释掉了安全性参数。取消评论,它可能会起作用
将配置文件更改为
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
security:
authorization: enabled
#operationProfiling:
#replication:
#sharding:
#Enterprise-Only Options:
#auditLog:
#snmp:https://stackoverflow.com/questions/43103342
复制相似问题