【问题标题】:See / change local username and password for MongoDB?查看/更改 MongoDB 的本地用户名和密码?
【发布时间】:2017-10-26 23:53:39
【问题描述】:

我使用 MongoDB 下载了一个项目,但我无法设置。从我运行mongod 的终端我看到这个错误:

2017-05-26T14:51:22.908+0800 I ACCESS   [conn21] SCRAM-SHA-1 authentication failed for user on wesbostest from client 127.0.0.1:51653 ; UserNotFound: Could not find user user@wesbostest

从我的npm start 终端猫鼬注销此错误:Authentication failed.

我的环境文件有这一行:

DATABASE=mongodb://user:pass@localhost:27017/wesbostest

我已经安装了 MongoDB Compass。它成功连接了这些设置:

Hostname: localhost
Port: 27017
Authentication: None
SSL: Off
SSH Tunnel: Off

所以我认为环境文件的user:pass 部分是错误的?如果没有设置身份验证,我如何查看本地用户名和密码和/或设置它们?

【问题讨论】:

  • 使用您当时实际知道的用户名和密码登录。如果您没有其他可以访问的帐户,那么您就不走运了。如果有一个简单的后门可以通过,那么添加身份验证没有多大意义。
  • 看到这个How can I enter Mongo as a superuser or reset users?张贴在您应该询问管理问题的网站上。
  • 我刚刚在本地安装了 mongoDB,我不知道任何用户名和密码。我的部分问题是如何查看/更改它们。
  • 如果您刚刚安装,则没有用户名和密码,因此只需将它们从应用程序连接字符串中删除即可。如果您已从某处迁移数据并且需要身份验证,请按照您所指的流程进行操作。所以你要么误解了用法,要么你有一个与编程无关的管理问题,属于另一个站点。

标签: mongodb


【解决方案1】:

我通过为 MongoDB 设置用户名和密码解决了这个问题:

MongoDB what are the default user and password?

程序

  1. 在没有访问控制的情况下启动 MongoDB。

    mongod --port 27017 --dbpath /data/db1
    
  2. 连接到实例。

    mongo --port 27017
    
  3. 创建用户管理员。

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
  4. 使用访问控制重新启动 MongoDB 实例。

    mongod --auth --port 27017 --dbpath /data/db1
    
  5. 以用户管理员身份进行身份验证。

    mongo --port 27017 -u "myUserAdmin" -p "abc123" \
      --authenticationDatabase "admin"
    

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多