zoukankan      html  css  js  c++  java
  • mongdb 4.x admin密码忘记,如何 重建admin用户

    在mongo db中,或mongo db cluser中,如果admin密码忘记了,必须按下面的步骤来做。
    思路为注释掉security认证部分,重启mongo server, 重建admin用户,再打开security,重启mongo server,就OK了

    在MongoDB 4.x 复制集 replica set (即master 和 slave)架构中, 用下面的步骤即可完成。

    在主和从mongo DB servers上,执行
    1) vi /etc/mongod.conf
    注释下面的内容
    #security:
    # clusterAuthMode: keyFile
    # keyFile: /data/mongodb/key/repl_set.key
    # authorization: enabled
     
    然后重新启动 mongodb servers 
    2) systemctl restart mongod

    在主 mongo DB server上执行
    3) 连接到 mongo db primary (master)
    mongo --host <master MongoDB IP>
    MongoDB shell version v4.0.3
    connecting to: mongodb://10.80.2.232:27017/
    Implicit session: session { "id" : UUID("08e62bd1-15e3-4230-bd70-4a1bf2808478") }
    MongoDB server version: 4.0.3
    bpmRepSet:PRIMARY> 

    4) 执行下面的操作去重新建立admin用户
    use admin
    db.system.users.find()
    db.dropUser("admin")
    db.system.users.remove({user:"admin"}) 
    db.createUser({user:"admin",pwd:"irootech123",roles:["readWrite"]})
    db.grantRolesToUser("admin",[{ role: "clusterAdmin", db: "admin" }]);
    db.grantRolesToUser("admin",[{ role: "userAdminAnyDatabase", db: "admin" }]);
    db.grantRolesToUser("admin",[{ role: "root", db: "admin" }]);

    在主和从 mongo DB servers上,执行 
    5) vi /etc/mongod.conf
    //打开下面的内容
    security:
     clusterAuthMode: keyFile
     keyFile: /data/mongodb/key/repl_set.key
     authorization: enabled
     
    然后重新启动 mongodb servers 
    6) systemctl restart mongod

    在 主 mongoDB server上, 执行
    7) 连接到 mongo db primary (master)上


    mongo --host  <master MongoDB IP>
    > use admin
    > db.auth("admin","irootech123")

    如果允许slave 读操作,则在slave上执行 rs.slaveOk(); 就OK 
     

    这样,整个恢复工作完成
    ————————————————
    版权声明:本文为CSDN博主「大树叶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/bigtree_3721/article/details/85344950

  • 相关阅读:
    文档撰写思路与排版(hadoop)
    ULUA的简洁用法(二)
    开源cocos2d-x编辑器 qco-editor
    u3d tolua + ZeroBraneStudio远程调试
    ULUA的简洁用法
    OpenGL顶点数据传输速度优化
    在do while语句中使用continue的误解
    cocos2d-x 3D shader的纹理坐标是上下颠倒的
    使用ndk-gdb调试android native程序
    OpenSSL中AES加密的用法
  • 原文地址:https://www.cnblogs.com/twobrother/p/11624621.html
Copyright © 2011-2022 走看看