zoukankan      html  css  js  c++  java
  • mongo集群误删admin,如何操作

    在一次操作时,误删了admin库,所有的认证都实现不了,心慌慌,在想 是不是 把他库都给删了,然后跑路^_^,   其实不用这样样,哈哈

    MOngoDB 集群 肯定是开启了集群认证的,所以把认证关闭, 然后新建admin,新建用户,就可以了,前提你知道每个库的 用户不然只能 新建用户了....

      MongoDB集群认证,有下面三步:

          (1)生成密钥文件,复制到其他两台服务器上.并修改权限   

                    openssl rand -base64 741 > /usr/replSet_key

                   chmod 700 /usr/replSet_key
                   在一台生成keyfile,将密码文件scp到其他两台服务器上。
       
        (2)创建用户,在集群的一台服务器上创建会同步到另两个服务器上,
                举两个创建用户例子:
               db.createUser({user:"root", pwd:"123456",roles:[{role:"root",db:"admin"}]});
               db.createUser({user:'yunwei',pwd:'123456', roles:[{role:'readWriteAnyDatabase', db:'admin'}]});
               #创建管理用户
               db.system.users.find()    //查看创建的用户
               db.auth("root","123456")//授权
                    
                #创建testdb读写用户(需要切换到对应的数据库下给它创建用户)
               use testdb
              db.createUser({user:'dev',pwd:'123456', roles:[{role:'readWrite', db:'testdb''}]});
        
        (3)打开配置文件的注释,开启认证
                修改所有下面的配置文件,

                config.conf  shard1.conf  shard2.conf  shard3.conf mongos.conf (keyFile=/usr  这个只需要配置keyFile的位置)

                auth=true

                keyFile=你第一步生成的文件的位置

    重启,集群认证就可以生效!!!

    误删admin后,只需要把第三部的配置文件中auth= false即可,

    然后重启mongo集群,新建用户后,重新打开认证,即可以恢复! 修改文件必须重启,不然配置文件不生效!

    希望可以帮到需要的小伙伴~~~~~~~~~~~~~~~~~

  • 相关阅读:
    wiki iso88591字符表的解释
    [c]字符1一维数组求长度
    vim 用户配置
    PHP中向浏览器输出图片
    如何及时取消 BackgroundWorker 组件的后台工作
    python basic
    php5.1中的时区设置。
    MyBatis的深入原理分析之1架构设计以及实例分析
    hibernate缓存:一级缓存和二级缓存
    Spring 注解(Annotation)代替XML实现零配置
  • 原文地址:https://www.cnblogs.com/redBack/p/9259861.html
Copyright © 2011-2022 走看看