创建账号

db.createUser({ 
    "user" : "账号",
    "pwd": "密码",
    "roles" : [{ 
        role: "角色", 
        db: "所属数据库"
    }] 
})

角色

角色种类
超级用户角色:root 
数据库用户角色:read、readWrite; 
数据库管理角色:dbAdmin、userAdmin; 
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 
备份恢复角***ackup、restore; 
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 

角色说明
root:只在admin数据库中可用。超级账号,超级权限;
read:允许用户读取指定数据库;
readWrite:允许用户读写指定数据库; 
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile;
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限; 
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限; 
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户;
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限;
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限; 
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限; 

开启验证模式

开启验证模式概念: 用户需要输入账号密码才能登陆使用

操作步骤

1. 添加超级管理员
2. 退出卸载服务
3. 重新安装需要输入账号密码的服务(注在原安装命令基础上加上--auth即可
4. 启动服务 -> 登陆测试

这是zip安装操作方法
msi安装也可以使用,都一样,但是请注意:
如果你当时是傻瓜式安装,你需要找到你数据库的data文件夹和log文件夹。


步骤1:添加超级管理员

mongo

use admin
db.createUser({ 
 "user" : "admin",//用户名
 "pwd": "admin",//密码
 "roles" : [{ 
     role: "root", //身份
     db: "admin"//所属数据库
 }] 
})

2.x 3.x 4.x 前面版本默认是看不到admin没关系 你直接选中即可

步骤2:退出卸载服务

bin\mongod --remove

DOS窗口必须用管理员省份运行

步骤3:安装需要身份验证的MongoDB服务

bin\mongod --install --dbpath E:\mongodb\data --logpath E:\mongodb\logs\mongodb2.log --auth
目录记得加上引号,上述地址,第一个是数据库的data目录,第二个是数据库的log目录

步骤4:启动服务

net start mongodb

我在网上还找到另外一种开启权限的方式:
修改服务器的cfg文件(配置文件),然后关闭服务器,然后重启服务器/或者是关闭服务/重启服务:我也忘记了
具体方法:
cfg配置文件中
添加
auto=on

可以尝试一下


登陆

  • 方法1:mongo 服务器IP地址:端口/数据库 -u 用户名 -p 密码
mongo localhost:27017/admin -u admin -p admin
  • 方法2:a-先登录,b-选择数据库,c-输入db.auth(用户名,密码)
mongo
use admin
db.auth('admin','admin')