zoukankan      html  css  js  c++  java
  • mongodb 在认证(auth)的情况下,配置主从(master & slave)

    mongodb 在认证(auth)的情况下,配置主从(master & slave)
    2017年04月27日 15:29:39
    阅读数:697
    说明:对于mongo用认证,主从配置,是一个非常常用的搭配,但是从往上找的资料并不是很完整,个人认为资料比较老,很少有 mongo 3.0 以上的完整说明,所以怒开博客,写下了完整的配置,亲测可用。

    master配置
    本机 :192.168.100.23:27017

    /etc/mongodb/mongo.conf

    port = 27017
    dbpath = /data/mongodb_t
    logpath = /var/log/mongodb_t.log
    logappend = true
    journal = true
    fork = true

    1. 以上配置单机打开mongo,对admin数据库进行设置
      据资料, 必须建立全局用户root,个人感觉是超级管理员; 必须对local数据库建立repl用户。

    mongo –port 27017

    use admin
    db.createUser({user:"root", pwd:"123456", roles:[{role:"root", db:"admin"}]})
    db.createUser({user:"repl", pwd:"123456", roles:[{role:"dbOwner", db:"local"}]})
    show users
    {
    "_id" : "admin.root",
    "user" : "root",
    "db" : "admin",
    "roles" : [
    {
    "role" : "root",
    "db" : "admin"
    }
    ]
    }
    {
    "_id" : "admin.repl",
    "user" : "repl",
    "db" : "admin",
    "roles" : [
    {
    "role" : "dbOwner",
    "db" : "local"
    }
    ]
    }

    exit
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    2、 修改配置文件
    添加以下三项:

    port = 27017
    dbpath = /data/mongodb_t
    logpath = /var/log/mongodb_t.log
    keyFile=/srv/mongodb/keyfile
    logappend = true
    journal = true
    fork = true
    keyFile=/srv/mongodb/keyfile #添加keyfile
    auth = true #打开认证
    master = true #打开主库配置

    3、添加keyfile
    主要目的是对主从之间的验证

    cd /srv/mongodb/
    openssl rand -base64 741 >>keyfile
    chmod 700 keyfile

    4、重启数据库
    salve配置
    本机:与主库不再同一台设备上面,同一局域网

    /etc/mongodb/mongo.conf

    port = 27017
    dbpath = /data/mongodb_t
    logpath = /logs/mongo/mongodb_t.log
    logappend = true
    journal = true
    fork = true

    1. 同master第一步
    2. 修改配置文件
      port = 27017
      dbpath = /data/mongodb_t
      logpath = /logs/mongo/mongodb_t.log
      logappend = true
      journal = true
      fork = true
      auth = true
      slave = true
      keyFile=/srv/mongodb/keyfile
      source = 192.168.100.23:27017

    3、添加keyfile
    cd /srv/mongodb/

    将主库设备上面的keyfile拷贝到这个目录下

    chmod 700 keyfile

    4、重启数据库
    重启之后,登陆数据库,就能看到与主库的同步了
    如果shell登陆, 需要

    rs.slaveOk()

    参考:
    http://lovelace.blog.51cto.com/1028430/1441040/
    http://442951480.blog.51cto.com/3779798/1643606/

  • 相关阅读:
    java类型比较_Java数据类型的比较
    学习方法-1:海绵学习法
    性能测试:TPS和QPS的区别
    代码反思
    网站TLS升级 1.0&1.1--1.2
    Mysql常用语法
    初级测试工程师面试指南
    postman实战之断言
    postman预处理脚本实战
    什么是HTTP超文本协议
  • 原文地址:https://www.cnblogs.com/5min/p/9008879.html
Copyright © 2011-2022 走看看