Docker 安装 MongoDB

一、什么是MongoDB

MongoDB 是一个基于分布式文件存储的数据库。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

二、MongoDB的安装

这里使用docker来安装MongoD

1.docker 拉取mysql镜像

复制代码
docker pull mongo:latest

2.运行容器

复制代码
docker run -dit --name mongo -p 27017:27017 mongo:latest --auth

参数说明

-i:表示运行容器

-t:表示容器启动后进入其命令行

-d:守护式方式创建容器在后台运行

-name:容器名称

-p 27017:27017:端口映射(宿主机端口:容器端口),mongoDB默认是27017端口

--auth:访问mongo需要鉴权(账号密码访问),这个参数要放在最后面,否则会报错

**注意:**如果是云服务器,记得开启对应的端口,添加对应的安全组相关策略。

3. 创建用户并设置密码

复制代码
docker exec -it mongo /bin/mongosh

说明:

如果MongoDB6.0及以上使用:

docker exec -it mongo /bin/mongosh

如果是6.0以下的版本使用:

docker exec -it mongo /bin/mongo

三、创建MongoDB用户

1.mongo中各个角色对应的权限

权限 说明
read 允许用户读取指定数据库
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户
clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
root 只在admin数据库中可用。超级账号,超级权限

2.创建一个用户,赋予用户root权限

注意:在createUser之前先use admin切换一下

然后执行创建用户命令

复制代码
db.createUser(
	{
		user:"root",
		pwd:"123456",
		roles:[{role:"root",db:"admin"}]
	}
);

//尝试使用上面创建的用户信息进行连接。
db.auth('root', '123456');

返回 { ok:1} 则说明创建成功。

四、连接 MongoDB

使用Navicat 连接mongoDB,建议用16版本的,低版本可能没有连接mongoDB的选项

连接成功后,打开如下

相关推荐
2601_949847753 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906943 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗4 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB4 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
codezzzsleep4 小时前
学术汇报 PPT 自动化生成实战指南
运维·自动化·powerpoint
古法老登瞎折腾4 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
讯捷蓝达5 小时前
IBM V3500存储 双控故障、数据怎么恢复?
运维
qq_谁赞成_谁反对5 小时前
甲方IT的成长之路--SG TCP网络优化工具--20261026
运维·服务器·udp·tcp
闲云野鹤在人间6 小时前
Kubernetes Service 与 kube-proxy 详解
云原生·容器·kubernetes
龙亘川7 小时前
适应人工智能发展、构建就业友好型发展方式
大数据·运维·人工智能·信息可视化·智慧城市