MongoDB配置用户名和密码

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: MongoDB配置用户名和密码

01 引言

在前面博客已经讲解了MongoDB的安装,有兴趣的同学可以参阅:《Linux下安装MongoDB》,本文讲解如何新增MongoDB用户。

02 角色权限

角色权限:

角色 权限
数据库用户角色 read、readWrite
数据库管理角色 dbAdmin、dbOwner、userAdmin
集群管理角色 clusterAdmin、clusterManager、clusterMonitor、hostManager
备份恢复角色 backup、restore
所有数据库角色 readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色 root 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
内部角色 system

权限说明:

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

03 用户管理

3.1 新建管理员用户

cd /usr/local/mongodb/bin/
#客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。 
./mongo --port 27017 
use admin  
db.createUser(
   {
    user: "admin1",
    pwd: “123456”,
    roles: [{role: ”userAdminAnyDatabase”,db:”admin”}]
   }
 )

3.2 创建普通用户

cd /usr/local/mongodb/bin/
#客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。 
./mongo --port 27017 
use db_foo ##(用户数据库,自定义,根据实际场景命名)
#可以查看角色
show roles 
db.createUser(
    {
    user: "ylw",
    pwd: "123456",
    roles: ["readWrite","dbAdmin"]
    }
)

3.3 查看的用户

db.system.users.find()

3.4 删除用户

db.system.users.remove({user:"simpleUser"})

04 开启权限验证

在启动时指定--auth即需要授权才能操作:

①开启服务

/usr/local/mongodb/bin/mongod --auth -f /mongodb/single/mongod.conf

②客户端连接并认证

cd /usr/local/mongodb/bin/
./mongo --port 27017 
use db_foo
db.auth("ylw","123456")

③关闭服务

cd /usr/local/mongodb/bin/
#客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。 
./mongo --port 27017 
#切换到admin库 
use admin 
#关闭服务 
db.shutdownServer()


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
6月前
|
NoSQL 网络协议 Unix
第6期 MongoDB配置启动方式
第6期 MongoDB配置启动方式
385 0
|
3月前
|
NoSQL MongoDB Windows
MongoDB 读写分离——Windows MongoDB 副本集配置
MongoDB 读写分离——Windows MongoDB 副本集配置
64 0
|
4月前
|
存储 NoSQL 关系型数据库
MongoDB的配置服务器和复制机制
【7月更文挑战第2天】MongoDB配置服务器存储分片和权限元数据,支持在主节点故障时保持读服务。关键组件,性能影响显著。复制集包含Primary和Secondary,通过oplog实现数据同步,类似MySQL binlog。oplog的幂等性可能导致大量set操作,且大小受限,可能导致从节点需全量同步。读写分离提升效率,主从切换确保高可用。
51 0
|
5月前
|
安全 NoSQL 程序员
老程序员分享:mongodb4.xxx安装,和基本配置
老程序员分享:mongodb4.xxx安装,和基本配置
51 0
|
6月前
|
监控 NoSQL 安全
【MongoDB 专栏】MongoDB 的复制集:高可用性配置
【5月更文挑战第10天】MongoDB的复制集是实现数据高可用性的重要机制,由主节点和次节点构成,主节点处理写操作,次节点同步数据确保一致。在主节点故障时,次节点自动提升接替,保证服务不间断。通过复制集,可实现数据保护、持续服务,适用于关键业务系统和数据备份。配置时需关注网络稳定性、节点性能和数据一致性。案例显示,复制集能有效保障服务高可用,防止数据丢失和业务中断,是现代数据库管理的关键工具。在数据驱动的世界,复制集为高可用性提供了坚实保障。
140 0
【MongoDB 专栏】MongoDB 的复制集:高可用性配置
|
6月前
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
101 1
|
6月前
|
存储 缓存 NoSQL
|
6月前
|
运维 NoSQL Linux
MongoDB详解(六)——MongoDB主从同步配置
MongoDB详解(六)——MongoDB主从同步配置
279 5
|
6月前
|
NoSQL Java MongoDB
mongoDB动态配置文档名称
mongoDB动态配置文档名称
82 0
|
6月前
|
监控 NoSQL MongoDB
第5期 MongoDB配置用户名密码认证登录
第5期 MongoDB配置用户名密码认证登录
647 0