具体步骤网上有,这里记录一下个人开启认证时候的一些笔记
A、生成集群之间的通讯密钥,mongo各个集群节点之间通讯的密钥
openssl rand -base64 512 KeyFile.key
chmod 400 KeyFile.key
B、在节点启动配置中,配置启用认证,指定节点通讯密钥地址
auth=true
keyFile=data/mongodb/testKeyFile.file
C、新增鉴权用户
注:Mongo集群的用户名密码管理与Mysql有非常大的不同,Mysql统一一个用户名密码,可以访问多个库表。而mongo数据库针对不同的库(collections)有不同的密码,不同collections之间的密码不通用。如果创建了集合用户,没有创建管理用户,那么即使启用认证也不会生效。
1、创建admin集合用户
use admin;
db.createUser({user:"xxx",pwd:"xxxx",roles:["root"]});
show users;
2、创建flowable集合用户
use flowable;
db.createUser({user:"xxxx",pwd:"xxxx",roles:[{role:"readWrite",db:"flowable"}]});
show users;
3、创建zbg集合用户
use zbg;
db.createUser({user:"xxx",pwd:"xxxxx",roles:[{role:"readWrite",db:"zbg"}]});
show users;
3、mongo yml配置,与mysql一样配置也行,读取不到的时候,也可以uri: mongodb://用户名:密码@192.xx.x.102:27111,192.xx.x.102:27112,192.xx.x.102:27113/zbg 这样配置。用户名密码中带有: @ 符号时,一定要先urlencode加密一下。
D、重启mongo集群