数据库
首页 > 数据库> > mongodb的认证(5)

mongodb的认证(5)

作者:互联网

目录

我叫张贺,贪财好色。一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛学和跑步。
个人博客:传送阵
笔者微信:zhanghe15069028807,非诚勿扰。

mongodb的认证

单实例认证

systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/27017/mongodb.log
storage:
  dbPath: /data/mongodb/27017/
  journal:
    enabled: true
processManagement:
  fork: true
net:
  port: 27017
  bindIp: 127.0.0.1
security:                      #这里有一个安全认证,启动
  authorization: enabled
//启动之后是无法使用insert,因为没有认证
//创建用户名和密码
use admin
db.createUser({
  user: "zhanghe",
  pwd: "cba-123",
  roles: [ { role: "root", db: "admin"}]    #这里的root和admin的意思仅代表最高权限而已。
})


//想要插入,要先认证,认证的方法如下:
use admin
db.auth('zhanghe', 'cba-123')

//在终端登录的时候可以这样认证:
mongo -uzhanghe -pcba-123 --authenticationDatabase admin

副本集认证

副本集的认证开启

  1. 先副本集数据同步使用密钥,然后副本集搭建完成后再创建用户用来做认证

  2. openssl rand -base64 756 > /data/mongodb/zhanghe.key

  3. chmod 700 /data/mongodb/zhanghe.key

同步的时候使用密钥,我们使用的时候,也就是用户认证的时候还是要创建用户做认证

所有的服务器都要有密钥,不然也无法同步

Mongodb副本集配置文件mongodb.conf
systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/27017/mongodb.log
storage:
  dbPath: /data/mongodb/27017/
  journal:
    enabled: true
processManagement:
  fork: true
net:
  port: 27017
  bindIp: 127.0.0.1
replication:
 replSetName: zhanghe
security:
  keyFile: /data/mongodb/zhanghe.key
  authorization: enabled


//启动三个Mongodb服务器
mongod -f /data/mongodb/27017/mongodb.conf
mongod -f /data/mongodb/27018/mongodb.conf
mongod -f /data/mongodb/27019/mongodb.conf

副本集初始化

use admin
config = { _id:"zhanghe", members:[
  {_id:0,host:"127.0.0.1:27017"},
  {_id:1,host:"127.0.0.1:27018"},
  {_id:2,host:"127.0.0.1:27019"}]
}
rs.initiate( config )
rs.status()

副本集设置认证,登录到primary,运行以下命令创建用户

use admin
db.createUser({
  user: "zhanghe",
  pwd: "cba-123",
  roles: [ { role: "root", db: "admin"}]
})

测试副本集的数据同步

use zhanghe
db.user.insert({ name: "zhanghe" })
rs.slaveOk()
rs.printSlaveReplicationInfo()

分片集群认证

注意点:

router不需要配置认证,得配置keyFile
configsvr需要配置认证
sharedsvr需要配置认证

过程略过,详情请见上一篇博客,此处不再赘述……

标签:zhanghe,mongodb,27017,认证,admin,data
来源: https://www.cnblogs.com/yizhangheka/p/12177049.html