查过各种网站,都尝试来一下,还是没有解决,寻求帮助.在centos下.用use admin.后再查看show dbs;就开始报错了.[thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} :
提示很明显就是没有授权.createUsers等等都没用.不知道这步该怎么解决了.
寻求一下帮助
1、可以关闭mongdb服务的验证。
2、如果有用户有权限,可以先执行db.auth("username","password")验证。
3、如果一个用户都没有,MongoDB应许创建一个用户,让创建的用户有相应的权限就可以。
4、如果有用户但是没有创建用户的权限,可以检查有没有grantRoleToUser的权限,如果有赋予相应的角色就可以了。
5、如果没有创建用户也没有,赋予角色的权限,就先关闭mongodb服务的验证,创建用户。
拥有listDatabase权限的角色还是有很多的,下面以userAdminAnyDatabase为例创建用户和为用户授权。
db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
db.grantRolesToUser("admin",[{role:"userAdminAnyDatabase",db:"admin"}])
当然,最后参考官网文档。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。