mongodb - 使用 mongod.conf 时,Mongo auth 无法登录

标签 mongodb centos centos7

所以这是最奇怪的事情。

我有两台运行 mongo 的 centOS 7 服务器。我现在想强制执行身份验证,因此我将 security.authorization: enabled 添加到 mongod.conf 文件中。

我已经在数据库“buzztv”上有一个用户。

所以当我跑mongod --conf /etc/mongod.conf在第一台服务器上一切正常。

然后我在第二台服务器上做了完全相同的事情,每当我尝试与其中一个用户连接时,我都会收到以下错误:

connecting to: mongodb://127.0.0.1:27017/?authSource=buzzztv&compressors=disabled&gssapiServiceName=mongodb
2020-02-20T13:02:35.166+0000 E  QUERY    [js] Error: Authentication failed. :
connect@src/mongo/shell/mongo.js:341:17
@(connect):2:6
2020-02-20T13:02:35.168+0000 F  -        [main] exception: connect failed
2020-02-20T13:02:35.168+0000 E  -        [main] exiting with code 1

现在,如果我运行 mongod --fork --logpath /var/log/mongodb/mongod.log --auth登录工作得很好。

所以很明显我可以运行这个命令,但我想使用 mongod.conf。

这是我的 mongod.conf 文件,我检查了它,它是它工作所在服务器的文件的完美副本。

有任何想法吗?

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0 # 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


security:
  authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

最佳答案

所以经过几个小时的研究,我需要改变

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true


显然我的 /var/lib/mongo 出了点问题所以我备份了数据,并创建了一个新文件夹/var/lib/mongodb
然后将 mongod.conf 文件编辑为:

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true


然后一切正常。现在我将重新创建用户并重新插入所有数据,一切顺利。

希望这可以节省我浪费的时间

关于mongodb - 使用 mongod.conf 时,Mongo auth 无法登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60320728/

相关文章:

linux - Godaddy和PowerDNS权威记录配置

python - 百胜百胜不工作

database - 在数组中查找 ObjectId

python - 关于 Flask 中的 as_view 函数

php - 与 php 集成的 wkhtmltopdf 在 Centos 上不起作用(拒绝访问)

postgresql - 从 docker 容器访问主机 postgres

mongodb - 无法在 mongodb 中创建角色

apache - Centos 7 phpmyadmin 403 禁止

node.js - 使用 Mongoose 更新子文档

angularjs - 平均堆栈 : How to bind uploads to a mongoose model?