创建账号
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')