mongo 索引 安全、备份与恢复

一、索引

创建大量数据

for(i=0;i<100000;i++){

      db.t1.insert({name:"test"+i,age:i})

}

数据查找性能分析

    db.t1.find({name:"test10000"})

    db.t1.find({name:"test10000"}).explain("executionStats")

建立索引

    db.集合.ensureIndex({属性:1})

对索引属性查询

    db.t1.find({name:"test10000"}).explain("executionStats")

索引的命令

    建立唯一索引,实现唯一约束的功能

    db.t1.ensureIndex({"name":1},{"unique":true})

    联合索引,对多个属性建立一个索引,按照find()出现的顺序

    db.t1.ensureIndex({name:1,age:1})

    查看当前所有索引

    db.t1.getIndexes()

    删除索引

    db.t1.dropIndexes("索引名称")

二、安全性

安全性流程:

    1、创建超级管理员

    2、修改配置文件,启用身份证验证

    3、重启服务

    4、使用超级管理员登录

    5、创建普通用户

    6、使用普通用户登录

    use admin

    db.createUser({

         user:"admin",

        pwd:"123",

        roles:[{role:"root",db:"admin"}]

    })

    修改配置文件

    sodu vi /etc/mongod.conf

    去掉注释

    security:

          authorization:enabled

    

    sudo service mongod restart    重启

    mongo -u admin -p 123 --authenticationDatabase admin

    创建普通用户:

    db.createUser({

        user:'t1',

        pwd:'123',

        roles:[{role:'readWrite',db:'test1'}]

    })

    mongo -u t1 -p 123 --authenticationDatabase test1

    

三、副职(副本集)

  • 复制至少需要两个节点A、B...
  • A是主节点,负责处理客户端请求
  • 其余的都是从节点,负责复制主节点上的数据
  • 节点常见的搭配方式为:一主一从、一主多从
  • 主节点记录在其上的所有操作,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致
  • 主节点与从节点进行数据交互保障数据的一致性

猜你喜欢

转载自www.cnblogs.com/ql0302/p/10658015.html