1. 程式人生 > >mongo 索引 安全、備份與恢復

mongo 索引 安全、備份與恢復

The 修改 find size cut 身份證驗證 文件 建立 sodu

一、索引

創建大量數據

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是主節點,負責處理客戶端請求
  • 其余的都是從節點,負責復制主節點上的數據
  • 節點常見的搭配方式為:一主一從、一主多從
  • 主節點記錄在其上的所有操作,從節點定期輪詢主節點獲取這些操作,然後對自己的數據副本執行這些操作,從而保證從節點的數據與主節點一致
  • 主節點與從節點進行數據交互保障數據的一致性

mongo 索引 安全、備份與恢復