zoukankan      html  css  js  c++  java
  • Mongo基本操作




    #创建超级管理员 super
    db.createUser(  
      { user: "super",  
        pwd: "super",  
        roles: [ { role: "dbAdminAnyDatabase", db: "wb" } ]  
      }  
    );  



    #创建读写管理员 super_write
    db.createUser(  
      { user: "super",  
        pwd: "super",  
        roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ]  
      }  
    );  



    #创建用户管理员 userAdmin
    db.createUser(  
      { user: "userAdmin",  
        pwd: "userAdmin",  
        roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]  
      }  
    );


                    
    #创建普通用户 readWrite
    db.createUser(  
      { user: "readWrite",  
        pwd: "readWrite",  
        roles: [ { role: "readWrite", db: "gxpt" } ]  
      }  
    );


    ---------------------------------------------------------------------    


    ---------------------------------------------------------------------    




    ---------------------------------------------------------------------    
    生成key file ok

    openssl rand -base64 100 > /opt/var/data/mongodb/mongodb.key
            
    ---------------------------------------------------------------------                
    创建用户 ok  
    db.createUser(
    {
    user:"gxpt",
    pwd:"gxpt",
    roles:[{role:"readWrite",db:"gxpt"}]
    }
    )

    db.createUser(
      {
        user: "super1",
        pwd: "super1",
        roles: [ { role: "dbAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
      }
    )

    db.createUser(
      {
        user: "super123",
        pwd: "super123",
        roles: [ { role: "root", db: "admin" }, "root" ]
      }
    )


    #创建超级管理员 super
    db.createUser(  
      { user: "root",  
        pwd: "root",  
        roles: [ { role: "root", db: "admin" } ]  
      }  
    );  



    #创建超级管理员 super
    db.createUser(  
      { user: "super",  
        pwd: "super",  
        roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ]  
      }  
    );  



    #创建应用管理员 gxpt
    db.createUser(  
      { user: "gxpt",  
        pwd: "gxpt",  
        roles: [ { role: "readWrite", db: "gxpt" } ]  
      }  
    );  



    #创建用户管理员 userAdmin
    db.createUser(  
      { user: "userAdmin",  
        pwd: "userAdmin",  
        roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]  
      }  
    );


                    
    #创建普通用户 readWrite
    db.createUser(  
      { user: "readWrite123",  
        pwd: "readWrite123",  
        roles: [ { role: "readWrite", db: "gxpt" } ]  
      }  
    );


    认证用户
    RS1:PRIMARY> db.auth("root","root");
    1

    RS1:PRIMARY> db.auth("gxpt","gxpt");
    1

    删除用户(必须到用户所属的db中执行删除操作)
    RS1:PRIMARY> db.system.users.remove({user:"gxpt"})db.system.users.remove({user:"userAdmin"})
    WriteResult({ "nRemoved" : 1 })
    RS1:PRIMARY> db.system.users.remove({user:"read_write"})db.system.users.remove({user:"read_write"})
    WriteResult({ "nRemoved" : 1 })
    RS1:PRIMARY> db.system.users.remove({user:"gxpt"})db.system.users.remove({user:"super1"})
    WriteResult({ "nRemoved" : 1 })


    切换到gxpt数据库删除 用户gxpt
    use gxpt
    RS1:PRIMARY> db.dropUser("gxpt", {w: "majority", wtimeout: 5000})db.dropUser("gxpt", {w: "majority", wtimeout: 5000})
    true
    ---------------------------------------------------------------
    认证用户 ok
    db.auth("root", "root");
    db.auth("test", "123456");
    ---------------------------------------------------------------
     
     db.grantRolesToUser("super", [ { role: "read", db: "admin" } ]);


    db.grantRolesToUser( "test" , [ { role: "dbOwner", db: "wb" } ])




    ---------------------------------------------------------------
    远程登录示例 ok

    mongo -usuper -psuper 192.168.8.236/admin
    mongo -ugxpt -pgxpt 192.168.8.236/gxpt


    mongo -usuper -psuper 192.168.8.237/admin
    mongo -ugxpt -pgxpt 192.168.8.237/gxpt
    ---------------------------------------------------------------
    在SECONDARY查询出发现如下错误:

    SECONDARY> show collections;
        Sat Aug  4 15:29:00 uncaught exception: error: { "$err" : "not master and slaveok=false", "code" : 13435 }

    这是正常的,因为SECONDARY是不允许读写的,如果非要解决,方法如下:

    SECONDARY> rs.slaveOk();

    ---------------------------------------------------------------
    -安全关闭数据库  ok

    > use admin;                     -
    RS1:PRIMARY> use admin;
    switched to db admin
    RS1:PRIMARY> db.auth("root", "root");
    1
    RS1:PRIMARY> db.shutdownServer();
    server should be down...
    2018-11-02T10:26:16.132+0800 I NETWORK  [js] trying reconnect to 192.168.8.236:27017 failed
    2018-11-02T10:26:17.160+0800 I NETWORK  [js] reconnect 192.168.8.236:27017 failed failed
    2018-11-02T10:26:17.162+0800 I NETWORK  [js] trying reconnect to 192.168.8.236:27017 failed
    2018-11-02T10:26:17.163+0800 I NETWORK  [js] reconnect 192.168.8.236:27017 failed failed
    > db.shutdownServer();db.shutdownServer();
    2018-11-02T10:26:30.466+0800 I NETWORK  [js] trying reconnect to 192.168.8.236:27017 failed
    2018-11-02T10:26:30.466+0800 I NETWORK  [js] reconnect 192.168.8.236:27017 failed failed
    server should be down...
    > exit
    ---------------------------------------------------------------


     
     
    #rs.slaveOk()
    db.createUser(
    {
    user:"test",
    pwd:"123456",
    roles:[{role:"readWrite",db:"wb"}]
    }
    )
     
     
    db.createCollection("coll-gxp123t", { size: 214 } ) ;
     
     
    cfg={ _id:"RS1", members:[ {_id:0,host:'192.168.8.236:27017',priority:2}, {_id:1,host:'192.168.8.237:27017',priority:1}, {_id:2,host:'192.168.8.238.:27017',arbiterOnly:true}] };




  • 相关阅读:
    Andio Studio
    Git常用操作汇总(转)
    1.主动学习很重要,主动学习很重要,主动学习很重要 2.官方文档 3.实践(转)
    Android应用程序的组成部分和Manifest文件(转)
    BackTrack5 (BT5)无线password破解教程之WPA/WPA2-PSK型无线password破解
    JS window.open()属性
    js产生随机数
    Node.js新手教程——怎样实现文件上传功能
    EJB究竟是什么,真的那么神奇吗??
    排序(4)---------希尔(shell)排序(C语言实现)
  • 原文地址:https://www.cnblogs.com/iyoume2008/p/9896947.html
Copyright © 2011-2022 走看看