dat*_*uoc 13 database authentication mongodb nosql replicaset
我有一个包含3个服务器的MongoDB副本集(1个主服务器,1个辅助服务器,1个仲裁服务器;这是由Google Cloud单击安装创建的默认副本集).主服务器和辅助服务器的2个配置文件(mongod.conf)已更改,并添加了"security.authorization:enabled".
Root用户添加了以下MongoDB shell命令:
use admin
db.createUser({user:"root",pwd:"root",roles:["root"]})
Run Code Online (Sandbox Code Playgroud)
使用"sudo service mongod restart"在主服务器和辅助服务器上重新启动MongoDB服务后,与副本集的连接将变为不稳定.
rs.status()有时会给出结果
如何设置基本密码认证(不使用密钥文件)为MongoDB副本设置正确的方法?
dat*_*uoc 10
我终于找到了答案.MongoDB副本集需要用户帐户和密钥文件.密钥文件似乎用于副本集中的服务器之间的身份验证,而不是用于登录.
在linux上创建mongodb密钥文件:
cd
openssl rand -base64 741 > mongodb.key
chmod 600 mongodb.key
Run Code Online (Sandbox Code Playgroud)
mongod.conf文件:
replication:
replSetName: rs0
security:
authorization: enabled
keyFile: /home/USERNAME/mongodb.key
Run Code Online (Sandbox Code Playgroud)
管理员用户:
(just like in question content)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12988 次 |
| 最近记录: |