安装
sudo apt install mongodb
查看状态
sudo systemctl status mongodb
查看版本号
mongo -version
修改/etc/mongodb.conf文件
将auth=true前面的#号去掉,开启动用户权限认证
如果需要远程连接:
把bind_ip后面改为:0.0.0.0
进入mongo创建管理员账户
# 先切换到admin数据库下
use admin
# 再创建管理员账户
db.createUser({user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin"} ]})
# 创建普通账户,账户为test,比如我有一个test1库,我需要读写权限,另一个test2库,我需要只读权限, 然后我们就可以如下创建一个账号:
db.createUser( {user : "test",pwd : "123456", roles: [ { role : "readWrite", db : "test1" } , { role : "read", db :"test2" } ] })
权限说明(基于角色的权限控制)
1 内置角色
数据库用户角色
read: 只读数据权限
readWrite:学些数据权限
数据库管理角色
dbAdmin: 在当前db中执行管理操作的权限
dbOwner: 在当前db中执行任意操作
userADmin: 在当前db中管理user的权限
备份和还原角色
backup
restore
夸库角色
readAnyDatabase: 在所有数据库上都有读取数据的权限
readWriteAnyDatabase: 在所有数据库上都有读写数据的权限
userAdminAnyDatabase: 在所有数据库上都有管理user的权限
dbAdminAnyDatabase: 管理所有数据库的权限
集群管理
clusterAdmin: 管理机器的最高权限
clusterManager: 管理和监控集群的权限
clusterMonitor: 监控集群的权限
hostManager: 管理Server
超级权限
root: 超级用户
2 自定义角色
内置角色只能控制User在DB级别上执行的操作,管理员可以创建自定义角色,控制用户在集合级别(Collection-Level)上执行的操作,即,控制User在当前DB的特定集合上执行特定的操作
其他操作详见: