springBoot配置mongo
前言
MongoDB基本的角色
1.数据库用户角色: read、readWrite:
2.数据库管理角色: dbAdmin、dbOwner、userAdmin;
3.集群管理角色: clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色: backup、restore;
5所有数据库角色: readAnvDatabase、 readWriteAnDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色: root
//这里还有几个角色间接或直接提供了系统超级用户的访问 (dbOwner 、userAdmin、userAdminAnyDatabase)
userAdminAnyDatabase: 有分配角色和用户的权限,但没有查写的权限。
如果一个用户是userAdminAnDatabase的角色,是可以分配角色和用户的,但是不能查写其他数据库里的数据,会报如下错误:要查写其它数据库的数据可以设置为root角色。
mongo官方文档
1. 单点
1.1 配置
#mongoDB
spring.data.mongodb.uri 这个配置在集群中说明
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.username=test
spring.data.mongodb.password=gxcxGXL@456
spring.data.mongodb.database=test
spring.data.mongodb.authentication-database=admin此配置只在没有uri的时候生效
logging.level.org.springframework.data.mongodb.core=DEBUG
1.2 问题与操作
1.2.1 用户权限
1.2.1.1 连接mongo
注意用户名跟密码
./mongo host:port --authenticationDatabase admin -u admin -p
1.2.1.2 查询当前使用db
db
1.2.1.3 切换db
use admin
1.2.1.4 查看db用户
show users
1.2.1.5 用户认证
db.auth(‘username’,’password’)
1.2.1.6 创建用户
注意这里在创建用户的时候给的权限不可以是userAdminAnyDatabase此角色权限只有操作数据库权限没有读写权限-------------->见前言
注意创建用户时使用的数据库与上面配置认证的数据库
db.createUser(
{
user: "test",
pwd: "pwd",
roles: [ {