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集群,新建用户后,重新打开认证,即可以恢复! 修改文件必须重启,不然配置文件不生效!

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

原文地址:https://www.cnblogs.com/redBack/p/9259861.html