文章目录
not authorized on admin to execute command
这个是没有使用账号密码登录
执行以下命令
db.auth("用户名","密码")
not authorized on XXX to execute command
这是权限的问题:
角色授权分两种,一种是直接在当前库中创建用户并授予相关权限。如admin库中创建admin用户。另一种情况是
将在admin中创建的用户授予操作其他库的权限,相关授权命令如下:
授予角色:
db.grantRolesToUser("userName", [ { role:"<role>", db: "<database>"} ])
取消角色:
db.grantRolesToUser("userName", [ { role:"<role>", db:"<database>"} ])
下面我们在admin
库中
use admin
执行以下命令:
db.grantRolesToUser("admin", [ { role:"dbOwner", db:"test"} ]) ;
##admin 指的是用户名 test 指的要授权的数据库
spting boot MongoDB authentication failed
> use admin #1数据库切换至admin管理库
switched to db admin
> db.auth('root', 'rootpwd') #2验证root用户
1
> use mydb #3切换至业务库 在该库创建访问该库的用户
>db.createUser( #4 创建用户
{
user: "mydbDBA",
pwd: "123321",
roles: [ {role:"dbOwner", db:"mydb"} ]
}
)
然后在spring boot配置文件中加入如下配置项:
spring.data.mongodb.uri=mongodb://mydbDBA:123321@ip:port/mydb
# 打印noSql语句
logging.level.org.springframework.data.mongodb.core=debug