当前位置:首页 > 数据库 > 正文内容

windows安装mongodb6.x数据库并设置用户名密码

2024-12-04数据库3

安装

这工具很好用的,页面美观,设置账号密码也必不可少,推荐勾选。

设置账号密码

利用连接工具设置

必须选择一个库

1
use admin

设置账号密码

注意:这里创建的时候没有指定库,所以设置完登录之后就可以看到所有库了。

1
db.createUser({user:"username", pwd:"password", roles:["root"]})

当然,如果你只想对某一个库设置账号密码,其他的库保持无账号访问,可以这样做:
比如,下边我们直接对admin库设置账号密码

1
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权限,否则,就按照上边所说,创建多用户,多权限控制。

操作用户命令

1
2
3
4
5
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就进不去了,第一步就无法操作了。

1
C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg
1
authorization: enabled

-重启mongo服务

重新连接

断开

重新无账号密码连接,发现无法连接了

填写账号密码连接即可

OK!!!