• MongoDB 副本集删除超级用户后恢复


    背景:
    MongoDB 副本集admin(管理员)创建时,赋予了userAdminAnyDatabase权限,导致通过admin用户备份时,无权限,需要赋予root权限。
    因此将admin用户删除后,无法再次创建admin权限,因此需要将副本集节点修改成单节点模式启动,创建admin用户后,再以副本集启动,加入副本集。
    注意:完全可以先创建其他名字的管理员账号后再删除admin。

    修改 MongoDB 副本集配置文件,将security和replication全部注释掉,单节点启动:(先修改两个slave节点,最后再修改主节点)

    systemLog:
      destination: file
      logAppend: true
      path: /data/mongodb/27018/log/27018.log
    storage:
      dbPath: /data/mongodb/27018/data
      journal:
        enabled: true
      directoryPerDB: true
      engine: wiredTiger
      wiredTiger:
        engineConfig:
          cacheSizeGB: 20
          directoryForIndexes: true
        collectionConfig:
          blockCompressor: snappy
    processManagement:
      fork: true
      pidFilePath: /data/mongodb/27018/pid/mongodb_27018.pid
    net:
      bindIp: 0.0.0.0
      port: 27018
    operationProfiling:
      mode: all
      slowOpThresholdMs: 200
      rateLimit: 1000
    #security:
    # authorization: enabled
    # clusterAuthMode: keyFile
    # keyFile: /data/mongodb/27018/keys/keyfile
    #replication:
    #  replSetName: hankyoon
    #  oplogSizeMB: 4096

    登陆单节点模式,创建管理员账号:

    # mongo --port 27018
    > use admin
    > db.auth('admin','hankyoon7777') Successfully added user: { "user" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }

    修改完成后,通过rs.status()查看副本集状态,以及请研发同学配合验证一下业务运行情况

  • 相关阅读:
    C# 多线程编程及其几种方式
    多态有几种表现形式
    闭包的理解
    C# 泛型类型约束 where
    HTML扩展--HTMLTestRuner HTML测试报告
    编写web自动化测试
    unittest单元测试框架之认识unittest
    自动化测试模型
    处理HTML5视频播放、滑动解锁
    操作Cookie调用JavaScript
  • 原文地址:https://www.cnblogs.com/hankyoon/p/15685865.html
Copyright © 2020-2023  润新知