MongoDB 副本模式 下的访问控制

来源:互联网 发布:迅雷同类软件 编辑:程序博客网 时间:2024/06/18 07:03

官网文档:duang

副本集模式运行时,不能使用--auth参数!


1. 创建用户,一个是root用户,一个是操作权限的用户

       注意root用户的角色必须是root,只有root才能执行rs.xxx的操作

use admin# 操作用户 db.createUser( {    user: "myUserAdmin",    pwd: "<password>",    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  });#root用户 db.createUser( {    user: "siteRootAdmin",    pwd: "<password>",    roles: [ { role: "root", db: "admin" } ]  });

2. 停止mongod进程

ps -ef | grep mongod

kill -9 进程号


3. 生成keyfile文件,用户服务器之间认证用的

openssl rand -base64 741 > mongodb-keyfilechmod 600 mongodb-keyfile   //只有创建者能修改读取

4. keyfile文件的使用

所有服务器之间复制keyfile文件,可以通过scp命令,生成的keyfile文件放到自定义的一个目录即可。如:(把本地生成的文件拷贝到ip那个服务器的mnt目录)

scp 本地的keyfile文件  root@ip:/mnt/  

回车输入密码即可。

这里启动mongod使用的是配置文件mongo.conf,在该文件内加入红色那个

dbpath=/mnt/mongodb/data
logpath=/mnt/mongodb/log/mongo.log
port=27017
fork=true
#auth=true
logappend=true
replSet=fithubDev
oplogSize=1024
keyFile=/mnt/mongodb/mongo-keyfile


每个服务器都要加上上面的keyFile配置,目录指向本地keyfile所在的地方

5. 重启(每个服务器都执行)

./mongod -f mongo.conf


6. 查看信息

       查看状态,注意:如果状态是state:5稍等一会再看,反应有点慢


查看启动参数









原创粉丝点击