mongodb - 无法连接到启用身份验证的 MongoDB

标签 mongodb authentication database

我正在为 Ubuntu 14.04 运行最新的 MongoDB

  • 我已经创建了一个名为“admin”且具有“userAdminAnyDatabase”角色的用户
  • 我可以访问本地和外部的数据库
  • 我可以使用 SHA-SCRAM-1 使用“admin”登录

当我编辑配置文件以仅通过身份验证来限制访问时,出现了问题。发生了什么:

  1. 我在配置文件中取消注释“#auth = true”。
  2. 我无法使用“管理员”帐户的正确凭据进行访问。

请记住,我在进行更改后确实使用了“service mongod restart”。

引用配置文件:

# 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:
#auth = true
#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:
#snmp:

数据库快照供引用:

Database

出了什么问题?

最佳答案

我认为 auth = true 是一个无效配置,因此您的 mongod 没有启动。启用 authorization , 请尝试使用以下内容:

security:
  authorization: enabled

然后,要连接到数据库,请确保您的客户端使用正确的 authentication database and authentication mechanism .这可以通过以下命令使用命令行来完成:

mongo localhost -u admin -p myAdminPass --authenticationDatabase admin --authenticationMechanism SCRAM-SHA-1

关于mongodb - 无法连接到启用身份验证的 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287559/

相关文章:

mongodb - 如何使用 mongoose 将文档插入 mongodb 并获取生成的 id?

mongodb - 如何将运行 mongo DB 的 aws VM 连接到 Windows 计算机上的 robomongo?

MongoDB 复合索引的使用

authentication - 控制 cookie 生命周期的三个属性中哪个优先?

java - Spring 安全上下文是否在 REST/SOAP 调用中持续存在?

database - 关于数据库,我需要了解什么?

javascript - 如何解决NodeJS方法优先级问题

mysql - 是否可以在进行 SQL 查询的同时进行身份验证(不预先进行身份验证)

mysql - 什么情况下应该使用数据库触发器?

database - 亚马逊 (500310) 无效操作 : 1023;