MongoBD:not authorized for query
2023-12-26 20:28:24
MongoBD查询数据的时候有一个报错
not authorized for query
最后发现是用户权限的问题
内置角色:
- 数据库用户角色:read、readWrite;
- 数据库管理角色:dbAdmin、dbOwner、userAdmin;
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
- 备份恢复角色:backup、restore;
- 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户角色:root
检查当前用户
use admin;
db.auth('root', '123456')
db.getUsers();
[
{
"_id" : "admin.root",
"userId" : UUID("d3703a16-3066-43de-8ed2-07aed8608281"),
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
]
发现他的权限只是"role" : "userAdminAnyDatabase"
userAdminAnyDatabase:有分配角色和用户的权限,但没有查写的权限,不能用作备份。
所以,需要新增一个用户,赋予数据查询修改的权限
db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})
或者增加原有账号的权限
参考文章
文章来源:https://blog.csdn.net/mouday/article/details/135227522
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!