本文主要是介绍在mongodb5.0.11版本中创建用户和授权,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
处理原因:
1、设定mongodb的环境变量
2、登录mongodb
3、使用admin库
4、创建 mongouser用户
5、更新 mongouser 可使用的库
6、创建 mongouser角色授权
7、更新root账号也可以使用 mongouser角色
处理原因:
在MongoDB中,root角色是预定义的,用于授予对整个数据库系统的管理权限,包括所有数据库和集合的操作。你不能创建或修改这个角色,只能赋予权限给已存在的root角色。
如果你的目标是创建一个新的管理员角色,你应该选择一个不同的名称。例如,你可以创建一个自定义的管理员角色,如mongouser,并赋予它你需要的权限。下面是一个示例
1、设定mongodb的环境变量
export PATH=/usr/local/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/bin:$PATH
2、登录mongodb
mongo --username root --password yourpassword --authenticationDatabase admin
3、使用admin库
use admin
4、创建 mongouser用户
db.runCommand({
... createUser: "mongouser",
... pwd: "yourpassword",
... roles: [ { role: "readWrite", db: "ep_mongo" }, { role: "readWrite", db: "ep_mongo_test" }],
... mechanisms: [ "SCRAM-SHA-1" ]
... })
{ "ok" : 1 }
5、更新 mongouser 可使用的库
db.runCommand({
... updateUser: "mongouser",
... roles: [{ role: "root", db: "admin" }, { role: "readWrite", db: "ep_mongo" }, { role: "readWrite", db: "ep_mongo_test" }],
... mechanisms: [ "SCRAM-SHA-1" ]
... })
{ "ok" : 1 }
6、创建 mongouser角色授权
db.runCommand({
... createRole: "mongouser",
... privileges: [
... {
... resource: { db: "ep_mongo", collection: "" },
... actions: [
... "find", "insert", "update", "createIndex", "dropIndex"
... ]
... },
... {
... resource: { db: "ep_mongo_test", collection: "" },
... actions: [
... "find", "insert", "update", "createIndex", "dropIndex"
... ]
... }
... ],
... roles: []
... })
{ "ok" : 1 }
7、更新root账号也可以使用 mongouser角色
db.runCommand({
... ... updateUser: "root",
... ... roles: [
... ... { role: "root", db: "admin" },
... ... { role: "mongouser", db: "admin" }
... ... ]
... ... })
{ "ok" : 1 }
8、重启服务
这篇关于在mongodb5.0.11版本中创建用户和授权的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!