Docker-1.3>>>>>>安装Mongodb

本文详细介绍如何使用Docker快速安装MongoDB,并设置用户权限,包括创建管理员、修改密码、权限操作等。同时,提供了Studio3T连接工具的下载及使用指南。

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

使用docker安装Mongodb

简单安装,方便使用,快乐生活!

一、Mongodb的安装
1. 查看下mongodb的版本

登录dockerhub点击查看搜索并查看mongodb的版本

2. 拉取docker镜像
// 不写版本号,默认版本为latest
docker pull mongo:版本号
3. 运行容器
[root@localhost ~]# docker run --name mongo-master \
 -p 27017:27017 -v /java/mongo/db:/data/db -d mongo --auth

命令说明:

  • –name:自定义别名
  • -p 27017:27017 :将容器的27017 端口映射到主机的27017 端口
  • -v /java/mongo/db:/data/db :将主机中 /home/mongo/db 挂载到容器的 /data/db,作为mongo数据存储目录
  • –antu:开启密码授权访问
二、Mongodb的用户设置
1. 创建用户管理员
  • 进入mongo容器

    docker exec -it mongo-master bash
    
  • 创建用户管理员

    # 进入mongo数据库
    mongo
    # 首先切换到admin数据库下
    use admin;
    # 创建一个用户admin, 密码是admin
    # 此用户即为管理员
    # user: 用户名 
    # pwd: 密码明文 
    # role: 用户角色 
    # db: 该用户将创建到哪个数据库中
    db.createUser({
        user: 'admin',
        pwd: 'admin',
        roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]
    });
    # 测试下是否正确
    db.auth("admin", "admin");
    1 # 返回1表示正确
    # 退出
    exit;
    
  • role角色参数参考:

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

    db.changeUserPassword("usertest","changepass");
    
  • 方法二:

    db.updateUser("usertest",{pwd:"changepass1"})
3. 权限操作
  • 替换之前的权限:

    db.updateUser("usertest",{roles:[ {role:"read",db:"admin"} ]})
    
  • 修改权限:

    db.grantRolesToUser("usertest", [{role:"readWrite", db:"admin"},{role:"read", db:"admin"}])
    
  • 删除权限:

    db.revokeRolesFromUser("usertest",[{role:"read", db:"admin"}])
    
4. 删除用户

注意:当前用户的权限必须高于被删除的用户权限才可以删除,root为最高权限,可以删除所有用户,包括它自己。

  • 删除单个用户:

    db.system.users.remove({user:"admin"})
    
  • 删除所有用户:

    db.system.users.remove({})
    
5. 查看已存在的用户
// 方式一:
db.system.users.find()
// 方式二:
show users
三、Studio 3T连接工具
1. Studio 3T的下载及安装:

官网下载
选择 Studio 3T,下载即可。
突破时间限制

2. 其他操作参考文章:

点击查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值