下载
官网下载地址:点击去下载
安装
这工具很好用的,页面美观,设置账号密码也必不可少,推荐勾选。
设置账号密码
利用连接工具设置
必须选择一个库
use admin
设置账号密码
注意:这里创建的时候没有指定库,所以设置完登录之后就可以看到所有库了。
db.createUser({user:"username", pwd:"password", roles:["root"]})
当然,如果你只想对某一个库设置账号密码,其他的库保持无账号访问,可以这样做:
比如,下边我们直接对admin库设置账号密码
db.createUser({user:"username",pwd:"password",roles:[{role:"root",db:"admin"}]})
角色权限说明
角色类型 | 权限 | 权限说明 |
---|---|---|
普通操作角色 | read | 查询本库的权限。 |
readWrite | 增删改查本库的权限。 | |
管理员操作角色 | dbAdmin | 数据库对象的管理操作,但没有数据库的读写权限。 |
userAdmin | 在本库下创建用户的权限。 | |
dbOwner | 本库所有操作的权限。 | |
实例级别操作角色 | readAnyDatabase | 查询本实例所有库的权限。 |
readWriteAnyDatabase | 增删改查本例所有库的权限。 | |
userAdminAnyDatabase | 在本实例所有库下创建用户的权限。 | |
dbAdminAnyDatabase | 本实例所有库的dbAdmin权限。 | |
集群管理员角色 | hostManager | 数据库对象的管理操作,但没有数据库的读写权限。 |
clusterMonitor | 查询集群和复制集的权限。 | |
clusterManager | 管理和监控集群和复制集的权限。 | |
clusterAdmin | 集群所有操作的权限。 | |
备份与恢复操作角色 | backup | 查询本实例所有库的权限。 |
restore | 增删改查本例所有库的权限。 | |
超级角色 | root | 超级用户权限。 |
那如果想给其他库也设置账号密码,精准到库登录怎么办呢?
那就分两种情况:
1、一开始设置账号密码的时候就用这个库来设置,就像上边的admin一样;
2、如果一开始没有用你需要的库来设置账号密码,那么就进去之后,直接按照下方的方式来设置对应库的账号密码。
区别在于,第一次设置账号密码是可以设置root,后边在添加用户就不能再设置root权限了
比如这样:db.createUser({user:“username”,pwd:“password”,roles:[{role:“dbOwner”,db:“admin”}]})
所以如果你权限控制不那么严格,那就在一开始没有账号密码的时候,先创建好自己的需要的库,然后再以这个库来设置账号密码,分配root权限,否则,就按照上边所说,创建多用户,多权限控制。
操作用户命令
db.system.users.find() //查看所有用户 db.system.users.remove({}) //删除所有用户 db.system.users.remove({user:"username"}) //删除指定用户 db.changeUserPassword("username","changepass"); //更改密码(1) db.updateUser("username",{pwd:"changepass"});//更改密码(2)
用户与密码设置完以后,还需要开启用户、密码验证功能,不然设置了也没用。
配置文件
注意,一定要先设置上边的,否则先改配置文件,mongo就进不去了,第一步就无法操作了。
C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg
authorization: enabled
-重启mongo服务
重新连接
断开
重新无账号密码连接,发现无法连接了
填写账号密码连接即可
OK!!!