MongoDB安装—docker
1、查看mongo镜像版本#
docker search mongo
2、获取最新版MongoDB镜像#
docker pull mogo:latest
3、查看本地镜像#
docker images
4、运行容器#
docker run -itd --name mongo -p 27017:27017 mongo --auth
参数说明 :
- -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
- --auth:需要密码才能访问容器服务。
5、安装成功,使用docker ps查看容器的相关情况#
容器正常运行
# 进入mongo admin库 docker exec -it mongo mongo admin # 创建一个名为 admin,密码为 111111的用户。 > db.createUser({ user:'admin',pwd:'111111',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]}); # 尝试使用上面创建的用户信息进行连接。 > db.auth('admin', '111111')
此时的admin用户还没有读写权限
当运行db.stats()
或者 show users
,你可能会遇到错误 not authorized on admin to execute command...
原因是用户admin没有授予read
orreadWrite
权限,可以如下设置,然后执行db.stats(),即可看到db的相关信息
db.grantRolesToUser("admin", [ { role: "readWrite", db: "admin" } ])
附:添加用户时各个角色对应权限
1.数据库用户角色:read、readWrite; 2.数据库管理角色:dbAdmin、dbOwner、userAdmin; 3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 4.备份恢复角色:backup、restore 5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 6.超级用户角色:root
6、创建数据库用户(需要创建哪个数据库的用户,则需要切换到哪个数据库下)#
首先保证你已经以用户管理员的身份登录 admin 数据库。然后用 use 命令切换到目标数据库,同样用 db.createUser() 命令来创建普通用户,
其中角色名为 “readWrite”。下面是一个例子:
> db.createUser({user:"test",pwd:"test",roles:["readWrite"]}) Successfully added user: { "user" : "test", "roles" : [ "readWrite" ] } > db.auth("test","test") 1
如果在GUI客户端中看不到Collection则可能是登录的用户名密码没有那个database的权限,需要对应的database的用户名密码连接串登录。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-04-25 flex布局