【MongoDB】管理命令收集

发布时间:2020-02-27 15:37:14 作者:对唔住
来源:网络 阅读:1048

[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")

若出现错误

推荐阅读:
  1. mongodb入门命令
  2. mongodb集合管理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mongodb 命令 命令行

上一篇:nginx带参数跳转

下一篇:查询DB表实际大小

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》