標籤:sort 分區 admin 一個 follow data 系統 主機名稱 ofo
[TOC]
慢查詢
// 開啟2000毫秒以上的慢查詢記錄db.setProfilingLevel(1,2000)// 查看最近5條慢查詢show profile// 按照慢查詢執行時間倒序查詢db.system.profile.find().sort({‘millis‘:-1}).pretty// 查看查詢計劃db.Sync_Log.find({"$and":[{"mbid" :{$eq 7542163}},{‘t‘:{$gte:2333}}]}).explain()// 關閉慢查詢記錄db.setProfilingLevel(0)
任務管理停止超過一定時間的查詢
db.currentOp().inprog.forEach(function(item){if (item.secs_running > 1000 ) db.killOp(item.opid);})
停止對某個表的查詢
db.currentOp().inprog.forEach(function(item){if (item.ns == "dbA.tbA")db.killOp(item.opid)})
找出某種類型的任務
db.currentOp().inprog.forEach(function(item){if (item.op=="query"){print(item.opid,item.op);}})
另一種思路的任務查看
db.currentOp( {$and :[ {ns:{$ne:‘local.oplog.rs‘}}, {ns:{$ne:‘local.replset.minvalid‘}}, {ns:{$ne:‘admin.$cmd‘}}, {ns:{$ne:‘‘}}] })
複本集管理修改主機名稱
cfg = rs.conf()cfg.members[0].host = "xxxhost: 20000"cfg.members[1].host = "yyyhost: 20001"cfg.members[2].host = "zzzhost: 20002"rs.reconfig(cfg)
分區管理修改primary shard
MongoDB 分區叢集建立資料庫時,系統會挑一個可用空量最大的節點作為其預設節點。
db.runCommand({"movePrimary": "test", "to": "shard0000"})
手動遷移集合的資料區塊
用途:在需要下線某個節點時,預先遷移出資料
sh.moveChunk("dbA.collectionB", { collC: "53187" }, "shard0019")
若出現錯誤
【MongoDB】管理命令收集