zoukankan      html  css  js  c++  java
  • mongodb 创建副本集(一台服务器)

    MongoDB副本集设置

    安装

    brew tap mongodb/brew
    brew install mongodb-community@4.4

    启动

    brew services start mongodb-community@4.4

    关闭

    brew services stop mongodb-community@4.4

    1. 关闭正在运行的MongoDB服务器
      brew services stop mongodb-community@4.4

    2. 创建数据库存放数据的文件夹
      cd /usr/local/var
      mkdir m1 m2 m3

    3. 通过指定 --replSet来启动mongodb
      mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"
      '''
      实例名必须相同,只是端口号不同, 不然初始化的时候报错 mongoDB set name does not match
      '''
      mongod --port 27011 --dbpath "/usr/local/var/m1" --replSet m1

      mongod --port 27012 --dbpath "/usr/local/var/m2" --replSet m1

      mongod --port 27013 --dbpath "/usr/local/var/m3" --replSet m1

    4. 指定端口号启动(新开一个终端)
      mongo -port 27011

    5. 初始化配置
      rsconf = {
      _id: "m1",
      members: [
      {
      _id: 0,
      host: "127.0.0.1:27011"
      },
      {
      _id: 1,
      host: "127.0.0.1:27012"
      },
      {
      _id: 2,
      host: "127.0.0.1:27013"
      },
      ]}

      rs.initiate(rsconf)

    查看状态

    rs.status()

    删除副本集

    rs.remove('127.0.0.1:27013')

    测试副本集

    1.在主上创建库
    use zhoubo
    2.db.createCollection('zb')
    3.db.zb.insert({'name': 'zb'})
    4.启动从mongo
    mongo -port:27012
    5. show dbs # 报错not master and slaveOk=false 因为mongodb默认读取主,故需要从副本集读取时,需要设置db.getMongo().setSecondaryOk()
    6. show dbs show tables db.zb.find()
    { "_id" : ObjectId("6062ea0df27d393abaf37b01"), "name" : "zb" }
    测试成功

  • 相关阅读:
    rac node1节点侦听地址为127.0.0.1问题
    rac crs节点故障(未解决)
    杂牌设备网络接入引起交换机引起端口翻转的故障
    Impdp导出前准备工作以及主要命令
    查询dba_tables视图tablespaces_name为空的问题
    Expdp导出前准备工作以及主要命令
    带参数的方法解析
    类的无参方法,注释
    类和对象的解析
    二重循环的解析
  • 原文地址:https://www.cnblogs.com/robert-zhou/p/14597808.html
Copyright © 2011-2022 走看看