mongodb集群用户管理
用户分类
mongos用户管理
shard1用户管理
shard2用户管理
shard3用户管理
这里的4类用户都是需要单独创建的,不能混用。但是可以把用户名和密码设置成相同
数据库权限
用户不仅分类,而且还必须在指定的数据库下创建用户账号,在use dbname下创建的用户只对dbname数据库享有对应的权限.对db2数据库依然没有权限
创建用户
mongodb默认启动的时候没有认证授权,这个时候可以随意添加用户和权限


后期添加管理用户
由于生产环境已经添加了认证配置,这个时候就不能直接添加用户了
# BEGIN ANSIBLE MANAGED BLOCK #配置文件内容 #??????????????? pidfilepath = /data/tianyiyun/shard1/log/shard1.pid dbpath = /data/tianyiyun/shard1/data logpath = /var/log/mongodb/shard1.log logappend = true bind_ip = 0.0.0.0 port = 20001 fork = false #副本集名称 replSet = shard1 #declare this is a shard db of a cluster shardsvr = true #设置最大连接数 maxConns = 8000 # END ANSIBLE MANAGED BLOCK auth=true keyFile=/data/tianyiyun/conf/keyFile.key
先修改配置文件,使mongodb服务暂时去掉认证机制再登录mongoshell创建管理用户才行
# BEGIN ANSIBLE MANAGED BLOCK #配置文件内容 #——————————————– pidfilepath = /data/tianyiyun/shard1/log/shard1.pid dbpath = /data/tianyiyun/shard1/data logpath = /var/log/mongodb/shard1.log logappend = true bind_ip = 0.0.0.0 port = 20001 fork = false #副本集名称 #replSet = shard1 #declare this is a shard db of a cluster #shardsvr = true #设置最大连接数 #maxConns = 8000 # END ANSIBLE MANAGED BLOCK #auth=true #keyFile=/data/tianyiyun/conf/keyFile.key
每个分片节点都要创建用户,mongos节点选择其中一个节点创建即可
/data/tianyiyun/mongodb/bin/mongod -f /data/tianyiyun/conf/shard1.conf --noauth
根据连接端口的不同选择登录mongos或者shard的mongoshell
/data/mongodb-linux-x86_64-rhel70-4.0.28/bin/mongo --port 27017
登录mongoshell后选择给不同的数据库创建管理用户
给mydb数据库创建管理用户
use mydb #use哪个数据库就是给哪个数据库创建管理用户,创建管理用户后才能在相应的数据库中执行db.runadminCommand() 否则执行管理员命令的时候一直报认证错误
db.createUser({
user:"mydb",
pwd:"123456",
roles: [ { role: "dbOwner",db:"mydb"}]
})
db.auth("mydb","123456")
use admin
db.createUser({
user:"admin",
pwd:"123456",
roles: [ { role: "root",db:"admin"}]
})
本文来自博客园,作者:不懂123,转载请注明原文链接:https://www.cnblogs.com/yxh168/p/18921525
浙公网安备 33010602011771号