天天看点

Mongodb 副本集搭建失败的原因

Mongodb 副本集搭建失败的原因

简单搭建副本集群的教程

https://www.cnblogs.com/guigujun/p/9595234.html

这里说一下失败的原因

上面的教程中在admin 库中新建了root用户,然后配置文件改成了auth=true

开启了auth=true 认证登陆配置后 ,使用mongo shell 登陆mongodb 此时是无验证的,只是让你进入了shell console

所以任何对数据的操作都需要进行认证登陆,所以先要

db.auth(“username”,“password”)进行认证 mongodb返回1说明认证成功

如果你没有进展认证用户的认证 你任何对rs.initiate()都是失败的 或者 rs.status查看副本集也是失败的 都会提示你没有人权限操作 :

{

“ok” : 0,

“errmsg” : “command replSetInitiate requires authentication”,

“code” : xxx,

“codeName” : “Unauthorized”

}

添加新副本集也是同样

Mongodb 副本集搭建失败的原因

所以要进行登录认证 登录认证之后

配置自己的副本集 如:

var cfg={_id:‘rs0’,members:[{_id:0,host:‘10.xx.xx.105:27017’}, {_id:1,host:‘10.xx.xx.103:27017’}]}

其他的2台机器的配置文件replSet:rs0 要一致,rs0可以是自定义的名称

然后接着初始化rs.initiate(cfg) mongodb 返回1时说明成功

Mongodb 副本集搭建失败的原因

之后就可以操作mongodb了

等待一段时间后会响应的选举出primary的主机

查看副本集群的状态

Mongodb 副本集搭建失败的原因

最后可以看一下MongoDb安全认证技术博客大牛的文章

https://blog.csdn.net/wangmx1993328/article/details/82682299