Mongodb复制集的部署。
请参考https://blog.csdn.net/whbttst/article/details/101058601 进行初期的部署,这里只做后期认证的添加和个人数据库用户的管理配置。
添加MongoDB权限认证
- 登录部署的Mongodb集群;
mongo --host <ip>
- 切换admin数据库创建需要的角色权限以方便对数据库进行管理,注:第一个创建的用户必须在admin库中创建。
db.createuser({user:"admin",pwd:"<password>",
roles:[
{
"role": "dbAdminAnyDatabase",
"db":"admin"
},
{
"role": "userAdminAnyDatabase",
"db":"admin"
},
{
"role": "readWriteAnyDatabase",
"db":"admin
}
]
})
- 切换个人定义的数据,创建需要的用户信息和分配自己的管理权限
use <db_name>
db.createUser({
user: "<db_user>",
pwd: "<db_password>",
roles:
[
{
role: 'dbOwner',
db: '<db_name>'
]
})
- 创建keyFile文件在mongodb的conf目录下,以便统一配置
touch keyFile
- 向keyFile添加base64编写的内容
openssl rand -base64 756 > <keyFile_path>
- 控制keyFile的权限
chmod 600 <keyFile_path>
- 开启keyFile配置在配置文件中,在MongoDB的配置文件中添加keyFile=<keyFile_path>
keyFile=<keyFile_path>
- 重启所有mongodb服务
- 登录验证mongodb服务的认证服务的有效性