查看/更改MongoDB的本地用户名和密码?

时间:2017-05-26 07:04:38

标签: mongodb

我已经使用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终端mongoose注销此错误:Authentication failed.

我的环境文件包含以下行:

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

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

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

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

1 个答案:

答案 0 :(得分: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"