定义:
创建一个数据库新用户用db.createUser()方法,如果用户存在则返回一个用户重复错误。
语法:
db.createUser(user, writeConcern)
user这个文档创建关于用户的身份认证和访问信息;
writeConcern这个文档描述保证MongoDB提供写操作的成功报告。
· user文档,定义了用户的以下形式:
{ user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
}
user文档字段介绍:
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
在roles字段,可以指定内置角色和用户定义的角色。
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
PS:关于每个角色所拥有的操作权限可以点击上面的内置角色链接查看详情。
· writeConcern文档(官方说明)
w选项:允许的值分别是 1、0、大于1的值、"majority"、<tag set>;
j选项:确保mongod实例写数据到磁盘上的journal(日志),这可以确保mongd以外关闭不会丢失数据。设置true启用。
wtimeout:指定一个时间限制,以毫秒为单位。wtimeout只适用于w值大于1。
例如:在products数据库创建用户accountAdmin01,并给该用户admin数据库上clusterAdmin和readAnyDatabase的角色,products数据库上readWrite角色。
use products
db.createUser( { "user" : "accountAdmin01",
"pwd": "cleartext password",
"customData" : { employeeId: 12345 },
"roles" : [ { role: "clusterAdmin", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
"readWrite"
] },
{ w: "majority" , wtimeout: 5000 } )
验证:
mongo -u accountAdmin01 -p yourpassward --authenticationDatabase products
- 浏览: 145518 次
- 性别:
- 来自: 北京
相关推荐
创建用户后,需要修改MongoDB配置文件(如 `mongod.conf`)启用身份验证,并重启服务。例如,在Windows上,可以使用 `net stop MongoDB` 停止服务,然后以管理员身份启动 `net start MongoDB`。 登录MongoShell时,...
《PyPI官网下载的tencentcloud-sdk-python-mongodb-3.0.522.tar.gz:深入了解腾讯云Python SDK for MongoDB》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python开发者提供了无数的第三方...
资源分类:Python库 所属语言:Python 资源全名:tencentcloud-sdk-python-mongodb-3.0.296.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
在“mongoDB3.0以上连接工具.zip”这个压缩包中,我们可以找到用于连接MongoDB 3.0及以上版本的工具,这些工具可能包括MongoDB Compass、Robo 3T (原名Robomongo)、MongoDB Shell等。这些工具都是为了帮助用户更高效...
from tencentcloud.mongodb.v20180408 import mongodb_client, models cred = credential.Credential("yourSecretId", "yourSecretKey") client = mongodb_client.MongodbClient(cred, "ap-beijing") ``` 这里,...
《Python库tencentcloud-sdk-python-mongodb:连接与...from tencentcloud.mongodb.v20180408.tencentcloudmongodb import TencentMongodbClient http_profile = HttpProfile() http_profile.region = "ap-guangzhou" ...
本文将深入探讨“Tencentcloud-sdk-python-mongodb-3.0.432”这一Python库,它是由腾讯云提供的针对MongoDB数据库的SDK,用于帮助开发者在Python环境中便捷地与腾讯云MongoDB服务进行交互。 首先,我们需要理解...
可以使用`db.createUser()`命令创建用户,然后在配置文件中开启auth选项。 13. **维护与升级**:定期进行备份,使用`mongodump`或`mongorestore`命令。当有新版本发布时,可以先备份数据,然后按照上述步骤升级到新...
### MongoDB 3.0 数据压缩测试分析 #### MongoDB 3.0 新特性概览 MongoDB 3.0 是在2015年3月3日正式发布的,与之前的2.0版本相比,它引入了大量的新功能和技术改进。其中最重要的一个特性就是加入了新的存储引擎...
在本项目中,我们主要探讨的是如何在Spring MVC框架下集成MongoDB 3.0数据库,同时利用log4j2进行日志管理,并且运用注解进行程序的简化与优化。下面将对这些核心知识点进行详细阐述。 首先,Spring MVC是Spring...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
首先,安装与配置MongoDB Java驱动程序。你需要将`mongo-java-driver`的JAR文件添加到你的项目类路径中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.mongodb <artifactId>...
本项目以spring4.0+mongodb3.0为基础开发简易demo,对mongodb进行权限认证,简单增删改查,mapreduce,aggregate操作简单演示,java项目,非maven项目,使用之前先配好mongodb及其修改mongodb.properties里参数。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
mongod --bind_ip 0.0.0.0 --logpath D:\MongoDB\Server\3.4\data\logs\mongo.log --logappend --dbpath D:\MongoDB\Server\3.4\data\db --port 27017 --serviceName "MongoDB" -serviceDisplayName "MongoDB" --...
本篇文章将深入探讨MongoDB 4.4.1在Windows 64位环境下的安装、配置、使用以及主要特性。 首先,安装MongoDB 4.4.1 for Windows非常简单。下载解压"Windows-MongoDB-4.4.1-x64.zip"压缩包后,你可以找到包含可执行...
7. **安全特性**:MongoDB支持身份验证、授权和加密,确保数据安全。 8. **命令行工具**:MongoDB提供了一些实用的命令行工具,如`mongo` shell,用于交互式操作数据库,以及`mongodump`和`mongorestore`用于数据...
4. **配置MongoDB**:运行CMake来配置构建过程,指定源代码目录和目标安装路径。 ``` cmake ../mongodb-src-r3.0.3 -DCMAKE_INSTALL_PREFIX=/path/to/install ``` 5. **编译源码**:执行Make命令来编译源代码。...