1、安装MongoDB
[root@localhost home]# docker run --name mongo -p 27017:27017 -v /data1/mongod.conf:/etc/mongod.conf -v /data1/mongodb/config:/data/configdb -v /data1/mongodb/db:/data/db -d mongo:4.0.4 --auth
参数说明 :
– name 是给容器取得名字
-p 是容器运⾏的端⼝号
-v 是容器运⾏环境 /data1/mongod.conf:/etc/mongod.conf 是把 容器中的/etc/mongod.conf 映射到宿主 机的 /data1/mongod.conf 中
-d 是容器后台运⾏ --auth 开启权限认证
2、查看docker正在运行的容器
docker ps
3、进⼊docker 容器 :
docker exec -it mongo /bin/bash
mongo
4、调⽤admin数据库 :
use admin
开启权限认证需要两个条件 :
1. admin.system.users中添加⽤户
2. mongodb 以 --auth 启动
5、创建admin⽤户 :
db.createUser({ user: 'admin', pwd: 'aim-2828286', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
6、admin认证 :
db.auth('admin','aim-2828286')
7、创建普通⽤户 , 切换到⽬标数据库 :
use aimDB
db.createUser({ user: 'aim', pwd: '2828286', roles: [ { role: "dbOwner", db: "aimDB" } ] });
8、普通用户认证 :
db.auth('aim','2828286')
9、查看当前用户
show users
会出现如图错误,退出后(exit)重新认证admin用户即可(执行第4、6、9步)。
10、查看所有⽤户
在admin用户下查看
db.system.users.find().pretty()
11、追加权限
admin为用户
db.grantRolesToUser("admin",[{role:"readWrite",db:"test"}])
12、将⽆上限集合转换为有限集合
db.runCommand({"convertToCapped": "event", size: 5242880});