请参阅/更改MongoDB的本地用户名和密码?

请参阅/更改MongoDB的本地用户名和密码?,mongodb,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开始t

我下载了一个使用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开始
terminal mongoose注销此错误:
身份验证失败。

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

DATABASE=mongodb://user:pass@localhost:27017/wesbostest
我安装了MongoDB指南针。它成功地连接到以下设置:

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

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

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

程序
  • 在没有访问控制的情况下启动MongoDB

    mongod --port 27017 --dbpath /data/db1
    
    mongod --auth --port 27017 --dbpath /data/db1
    
  • 连接到实例

    mongo --port 27017
    
  • 创建用户管理员

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
    mongo --port 27017 -u "myUserAdmin" -p "abc123" \
      --authenticationDatabase "admin"
    
  • 使用访问控制重新启动MongoDB实例

    mongod --port 27017 --dbpath /data/db1
    
    mongod --auth --port 27017 --dbpath /data/db1
    
  • 作为用户管理员进行身份验证

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
    mongo --port 27017 -u "myUserAdmin" -p "abc123" \
      --authenticationDatabase "admin"
    

  • 使用您当时实际知道的用户名和密码登录。如果你没有其他可以访问的帐户,那么你就不走运了。如果有一个容易进入的后门,那么添加身份验证没有多大意义。请参阅网站上发布的这篇文章,您应该在那里询问管理问题。我刚刚在本地安装了mongoDB,我不知道任何用户名和密码。我的部分问题是如何查看/更改它们。如果您刚刚安装,则没有用户名和密码,因此只需从应用程序连接字符串中删除它们。如果您已从某个地方迁移了数据,并且需要进行身份验证,那么请按照指定的流程进行操作。因此,您可能误解了用法,或者您有一个与编程无关的管理问题,属于另一个站点。