Mongodb身份验证无法从配置文件工作
我试图从配置文件中启用mongodb v3.4.3版中的身份验证,但它不起作用 以下工作:Mongodb身份验证无法从配置文件工作,mongodb,ubuntu,service,Mongodb,Ubuntu,Service,我试图从配置文件中启用mongodb v3.4.3版中的身份验证,但它不起作用 以下工作: sudo mongod--auth--port 27017--dbpath/var/lib/mongodb 我可以通过身份验证进行访问 以下内容也适用 sudo服务mongod启动 但只有在配置文件(即/etc/mongod.conf)中,我才没有将authorization:enabled放入 当我添加authorization:enabled(如该版本的文档中所述)时,我无法再启动mongod。它给出
sudo mongod--auth--port 27017--dbpath/var/lib/mongodb
我可以通过身份验证进行访问
以下内容也适用
sudo服务mongod启动
但只有在配置文件(即/etc/mongod.conf)中,我才没有将authorization:enabled放入
当我添加authorization:enabled(如该版本的文档中所述)时,我无法再启动mongod。它给出了一个错误,表示我的数据库文件夹不存在,因此我假设配置文件已损坏,并且不再读取数据库文件夹位于/var/lib/mongodb中
如有任何建议,我们将不胜感激
这里是完整的配置文件(标准配置文件,除了我添加了授权)
ubuntu@ip-172-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:
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:
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:
有几个问题: 首先,在运行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服务mongod
start无法工作。这需要通过sudo systemctl start mongodb
完成。mongodb文档中也没有正确提到这一点。有几个问题:
首先,在运行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服务mongod
start无法工作。这需要通过sudo systemctl start mongodb
完成。mongodb文档中也没有正确提到这一点。你能给我们看一下cat/etc/mongod.conf
?按要求在上面添加了它hmmmm,你能给我们看cat/var/log/mongodb/mongod.log
?你能给我们看一下cat/etc/mongod.conf
?按要求在上面添加了它hmmmm,你能给我们看看cat/var/log/mongodb/mongod.log
?不起作用。当我运行mongod时,它似乎忽略了conf文件,并在错误的数据文件夹中查找。initAndListen中出现异常:未找到29 Data directory/Data/db.,终止运行命令sudo mongod或sudo service mongod start?我尝试了这两种方法。两者都失败了。但对于服务,在编辑conf文件之后,它不再写任何日志,所以我只做sudomongodtry做sudomongod-dbpath/var/lib/mongodb。开始服务时,我会更新答案。不起作用。当我运行mongod时,它似乎忽略了conf文件,并在错误的数据文件夹中查找。initAndListen中出现异常:未找到29 Data directory/Data/db.,终止运行命令sudo mongod或sudo service mongod start?我尝试了这两种方法。两者都失败了。但对于服务,在编辑conf文件之后,它不再写任何日志,所以我只做sudomongodtry做sudomongod-dbpath/var/lib/mongodb。对于启动服务,我将更新我们的回答。