centos 安装mongodb3.4 及用户管理
admin
2023-01-19 01:20:04
0

1、下载安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.0.tgz
2、解压安装配置
cd /opt
tar zxvf mongodb-linux-x86_64-3.4.0.tgz

/ 重命名 /
mv mongodb-linux-x86_64-3.4.0.tgz mongodb

/ 进入mongodb目录 /
cd mongodb

/ 创建db和日志目录 /
mkdir /opt/mongodb/data
mkdir /opt/mongodb/data/db
mkdir /opt/mongodb/data/logs
/ logs目录下创建mongodb.log文件 /
touch mongodb.log

/ 在mongodb/data目中创建mongodb.conf /
cd data
vi mongodb.conf

/ 加入相关配置 /
#端口号
port = 27017
pidfilepath = /opt/monodb/mongo.pid
#数据目录
dbpath = /opt/mongodb/data/db
#日志目录
logpath = /opt/mongodb/data/logs/mongodb.log
nohttpinterface = true
bind_ip = 0.0.0.0
#设置后台运行
fork = true
#日志输出方式
logappend = true
#开启认证
#auth = true

/ esc :wq 保存退出 /
3、运行
cd mongodb

./bin/mongod --config /opt/mongodb/data/mongodb.conf
4、关闭
./bin/mongod --config /opt/mongodb/data/mongodb.conf --shutdown

1、mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。
2、切换到admin数据库,添加的账号才是管理员账号。
3、用户只能在用户所在数据库登录,包括管理员账号。
4、管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。这一点比较怪
Built-In Roles(内置角色):

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__system
    具体角色:
    Read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    root:只在admin数据库中可用。超级账号,超级权限

创建用户管理员
use admin
db.createUser({user:"root",pwd:"root123456",roles:["userAdminAnyDatabase"]})
db.auth('root','root123456')
以用户管理员身份登录,并切换数据库,创建数据库用户:
切换到test数据库
use test创建用户名、密码、角色
db.createUser({user:"username",pwd:"@user123456*",roles:[{role:"readWrite",db:"securitydata"}]})
br/>创建用户名、密码、角色
db.createUser({user:"username",pwd:"@user123456*",roles:[{role:"readWrite",db:"securitydata"}]})
security:
authorization: enabled验证mongodb数据库权限。
db.auth('user','@user123456*')
br/>验证mongodb数据库权限。
db.auth('user','@user123456*')
为方便show dbs能展示出所有存在的数据库,可以用root用户连接robo 3T 客户端用root角色创建对应数据库,再在shell脚本操作一下命令。
use admin
db.auth('root','atzhe2017')
use message_center
db.createUser({user:"test",pwd:"atzuche2017",roles:[{role:"readWrite",db:"message_center"}]})
db.auth('test','atzuche2017')

相关内容

热门资讯

日本首次在冲绳部署新型反潜巡逻... 澎湃新闻记者 谢瑞强日本自卫队首次在冲绳部署P-1新型反潜巡逻机,强化在该地区的空中监视和反潜能力。...
靠谱的DNAStar正版软件品... 导语:DNAStar正版软件作为生物信息分析领域的核心工具,其功能稳定性与技术支持能力直接影响科研与...
光影捕捉无短板,AI优化更出彩... 影像需求日益提升的当下,拍照画质出色的手机推荐成用户选购核心诉求,优质机型需兼顾硬件、AI优化与全场...
外交部:请滞留同胞关注阿曼至国... 据外交部领保中心发布紧急通知,经全力做工作,中国东方航空公司已安排一班阿曼首都马斯喀特至北京航班(M...
印度回应美国30天豁免令:印方... 【环球网报道 记者 姜蔼玲】据《印度教徒报》等印媒报道,美国发布30天豁免令,允许印度暂时购买俄罗斯...
恒捷自动化取得极片冷却装置及涂... 国家知识产权局信息显示,深圳市恒捷自动化有限公司取得一项名为“极片冷却装置及涂布机”的专利,授权公告...
AMD加速电信网络人工智能发展 AMD正在帮助电信运营商从人工智能试点项目转向生产部署,推动传统无线接入网络(RAN)向开放、虚拟化...
美式赢学!白宫新闻秘书:特朗普... 在伊朗局势持续紧张之际,美国总统特朗普的最新表态堪称“火上浇油”。昨日(6日),特朗普在社交平台上发...
中创新航申请三轴联动转运机构专... 国家知识产权局信息显示,中创新航科技集团股份有限公司申请一项名为“一种三轴联动转运机构及电池检测设备...
刚上春晚,公司创始人被传离职,... 传出创始人离职消息后, 刚登上春晚的人形机器人企业魔法原子启动新一轮组织架构调整。 3月6日,魔法原...