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