以MongoDB4.2为例
1、创建 mongodb-org-4.2.repo文件
# vi/etc/yum.repos.d/mongodb-org-3.4.repo
2、添加内容并保存
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
3、安装:# sudo yum install -y mongodb-org
4、设置开机启动:# systemctl enable mongod
5、设置远程访问:# vi /etc/mongod.conf
bindIp: 0.0.0.0
6、设置认证登录:# mongo
>use admin
switched to db admin
>db.createUser({user:"admin",pwd:"password",roles:[{role:"root", db:"admin"}]})
Successfully added user: {"user":"admin","roles": [ {"role":"root","db":"admin"} ]}
>exit
修改配置文件:# vi /etc/mongod.conf
修改完成!
创建新的数据库用户和密码
# mongo
> use admin
> db.auth('admin','password')
> use db1
> db.createUser({user:"user1",pwd:"password",roles:[{role:"dbAdmin", db:"db1"}]})
> db.grantRolesToUser("user1",[{ role: "readWrite", db: "db1" }])
步骤:先登录admin库并且认证,再切换到新数据库创建用户。
设置库用户认证登录
1.先关闭认证模式
2.进入该库 use database
3.创建用户并设置权限(包含)readWrite权限
4.打开认证权限并重启mongo
role里的角色可以选:
Built-In Roles(内置角色):
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system具体角色:
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问
system.profileuserAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
完成!!!
更多操作:
https://www.cnblogs.com/dbabd/p/10811523.html
https://www.runoob.com/mongodb/mongodb-dropdatabase.html
启动:# systemctl start mongod.service
停止:# systemctl stop mongod.service