docker安装MongoDB4.0.4

本文详细介绍了如何使用Docker安装MongoDB 4.0.4并进行权限认证设置。首先通过docker命令启动MongoDB容器,并配置端口映射和数据持久化。接着展示了如何查看运行中的容器并进入MongoDB容器。在MongoDB中,创建了admin用户并赋予全局用户管理权限,然后为aimDB数据库创建具有dbOwner角色的aim用户。在遇到权限问题后,重新认证admin用户解决问题。最后,为admin用户追加读写权限,并将一个无限集合转化为有限集合,确保数据管理的安全和高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值