MongoDBreplset权限认证配置步骤-创新互联

replica set权限认证

创新互联成立于2013年,我们提供高端网站建设成都网站制作成都网站设计、网站定制、营销型网站成都小程序开发、微信公众号开发、网站推广服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为白乌鱼企业提供源源不断的流量和订单咨询。

要生一个keyfile文件,用于节点之间权限认证的

  1. mkdir -p /mnt/mongodb/rs/config

  2. cd /mnt/mongodb/rs/config

  3. openssl rand -base64 741 > mongodb-keyfile

  4. chmod 300 mongodb-keyfile

官网上的是600的,必须要改为300,如果不是的话, 会在启动的时候mongodb.log里写权限太开放的原因导致启动mongodb失败!(这里先确保你已经安装了openssl,如果没有装,yum install openssl)

将mongodb-keyfile复制到每一个节点对应的目录下,如果之前已经启动的mongodb的话,用mongo进入到终端后,先查看那个节点是主节点,rs.status(); 去到主节点下执行:

  1. use admin  #选择需要认证的数据

  2. db.addUser('name','password');

当然,也可以某一个自建的库进行权限认证

  1. use test1

  2. db.addUser('test','123456');

提示添加成功后,全部停止,每一节点执行db.shutdownServer();然后对mongod.conf文件添加以下两行:

  1. auth=true

  2. keyFile=/mnt/mongodb/rs/confile/mongodb-keyfile

最后全部重启即可!

进入主节点终端,输入

db.runCommand({getLastError:1, w: N});

如果没有N,或者小于2,命令就会立刻返回,如果N等于2,主节点要等到至少一个从节点复制了上个操作都会响应命令(主节点本身也包括在N里面)。主节点使用local.slaves中存放的"syncedTo"信息来跟踪从节点的更新情况。

当指定"w"选项后,还可以使用"wtimeout"选项,表示以毫秒为单位的超时。getLastError就能在上一个操作复制到N个节点超时时返回错误(默认情况下命令是没有超时的)。

阻塞复制会导致写操作明显变慢,尤其是"w"的值比较大时。实际上,对于重要的操作将其值设置为2或者3就能效率与安全兼备了。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:MongoDBreplset权限认证配置步骤-创新互联
浏览路径:http://ybzwz.com/article/dgjpoo.html