user:<name_string>, #字符串
pwd:<password_string>, #字符串
roles:[{role:<role_name>,db:<db_name>}] #数组+对象
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
给admin添加一个root用户:
use admin
db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})
mongodb.conf文件中加入 auth=true
重启具有认证的mongodb数据库后登陆
/usr/local/mongodb/bin/mongo
use admin
db.auth("admin","123456")
返回1显示1则认证成功,也就是切换成功
也可以直接用账号密码登录:
/usr/local/mongodb/bin/mongo -uadmin -p123456 登陆
2、删除用户:
db.dropUser(<user_name>) 删除某个用户,接受字符串参数
示例:db.dropUser(“admin”)
db.dropAllUser() 删除当前库的所有用户
1、创建用户db.createUser({user:&lt;name_string&gt;, #字符串pwd:&lt;password_string&gt;, #字符串roles:[{role:&lt;role_name&gt;,db:&lt;db_name&gt;}] #数组+对象})us...
MongoDB
是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
1、修改启动
MongoDB
时要求
用户
验证
加参数 –auth 即可。
现在我们把
MongoDB
服务
删除
,再重新
添加
服务
代码如下:
mongod –dbpath “D:\work\
MongoDB
\data” –logpath “D:\work\
MongoDB
\log\
mongodb
.log” –install –service
安装
mongodb
的方法参考此文档:https://blog.csdn.net/ywd1992/article/details/81947357
1、登录config server
添加
用户
(primary节点)
/usr/local/
mongodb
/bin/mongo --port 21000
切换到admin
用户
下,
添加
一个新的
用户
use admin
其中user及pwd按自己需求修改
数据库角色
1.数据库
用户
角色
1.1’read’角色包含读取所有非系统集合数据,通俗理解就是有权限读取除去系统自带的数据库(admin,local,config)之外的数据库。
1.2’readWrite’角色包含read角色的权限同时增加了对非系统集合数据的修改权限,通俗理解就是在拥有‘read’查询权限的基础上增加了写入和
删除
的权限。
2.数据库管理角色
2.1‘dbAdmin’角色包含执行某些管理任务(与schema相关、索引、收集统计信息)的权限,该角色不包含
用户
和角色管理的权限。通俗理解就是授予
1.先尝试创建root
用户
:root
用户
拥有最高权限,可以进行任何操作
use admin
db.createUser({'user':'root', 'pwd':'root', 'roles':[{'role':'root', 'db':'admin'}]})
发现不可以,说明不登录是不能创建root
用户
的。但可以创建userAdminAnyDatabase角色...
要查看
MongoDB
中的
用户
,可以使用以下步骤:
1. 首先,使用mongo shell连接到
MongoDB
数据库服务器。例如,如果您在本地主机上运行
MongoDB
服务器,可以在终端窗口中输入以下命令:
mongo
2. 接下来,使用以下命令切换到要查看
用户
的数据库:
use dbname
其中,dbname是要查看
用户
的数据库名称。
3. 然后,使用以下命令列出该数据库中的所有
用户
:
db.getUsers()
这将返回该数据库中的所有
用户
信息,包括
用户
名、角色和权限等。
4. 如果要查看特定
用户
的详细信息,可以使用以下命令:
db.getUser("<username>")
其中,<username>是要查看详细信息的
用户
名。
这将返回特定
用户
的详细信息,包括
用户
名、角色、权限和密码哈希等。
注意:您需要具有足够的权限才能查看数据库中的
用户
信息。如果您没有足够的权限,则可能需要以管理员身份登录
MongoDB
。
所以新手使用celery很仔细的建立文件夹名字、文件夹层级、python文件名字,
所以网上的celery博客教程虽然很多,但是并不能学会使用,因为要运行起来需要以下6个方面都掌握好,博客文字很难表达清楚或者没有写全面以下6个方面。
celery消费任务不执行或者报错NotRegistered,与很多方面有关系,如果要别人排错,至少要发以下6方面的截图,因为与一下6点关系很大。
1) 整个项目目录结构,celery的目录结构和任务函数位置,有很大影响
2) @task入参 ,用户有没有主动设置装饰器的入参 name,设置了和没设置有很大不同,建议主动设置这个名字对函数名字和所处位置依赖减小
3) celery的配置,task_queues(在3.xx叫 CELERY_QUEUES )和task_routes (在3.xx叫 task_routes)
4) celery的配置 include (在3.xx叫 CELERY_INCLUDE)或者 imports (3.xx CELERY_IMPORTS) 或者 app.autodiscover_tasks的入参
5) cmd命令行启动参数 --queues= 的值
6) 用户在启动cmd命令行时候,用户所在的文件夹。
在不规范的文件夹路径下,使用celery难度很高,一般教程都没教。
[项目文件夹目录格式不规范下的celery使用演示](https://github.com/ydf0509/celery_demo) 。
此国产分布式函数调度框架 https://function-scheduling-distributed-framework.readthedocs.io/zh_CN/latest/index.html ,
从用法调用难度,用户所需代码量,超高并发性能,qps控频精确程度,支持的中间件类型,任务控制方式,稳定程度等19个方面全方位超过celery,任何方面都是有过之而无不及 。发布性能提高1000%,消费性能提高2000%