文章目录
使用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,下载即可。
突破时间限制