mongodb系列~mongo常用命令

匆匆过客 提交于 2020-01-22 11:02:31

mongodb常用命令大全
1 索引相关命令

db.chenfeng.ensureIndex({"riqi":1}) 添加索引会阻塞
nohup mongo --port dbname --eval " db.collecion.ensureIndex({"riqi":1},{background:true})" & 添加索引不会阻塞
db.chenfeng.getIndexes();查看索引
db.sql.explain()查看计划任务

2副本集相关命令

rs.status() 状态
db.printSlaveReplicationInfo() 查看从库延迟
db.getReplicationInfo(); 查看oplog应用情况

3 session 相关

mongo --eval "printjson(db.currentOp())" 查看session进程
db.currentOp()
db.killOp(opid) 杀掉session进程

4 慢语句查询相关

db.system.profile.find( { op: { $ne : 'command' } }).pretty() 返回所有非command操作

db.collection.find().explain()查看计划数

备注: db.collection.group()并不支持explain

 5 表相关

0 use db,db.dropDatabase(); 删除数据库
1 db.users.remove({}); 删除全部数据
2 mongodump --port 40000 --db dbname --collection tablename -o /home/ops/mongo & 导出
3 mongorestore --port 40000 --db dbname --collection tablename /home/ops/mongo/tablename.bjson

6 用户相关

 1 创建用户

 use db
db.createUser(
{
user:"user",
pwd:"password",
roles:[{role:"readWrite",db:"dbname"}]
}
)

7 问题排查命令汇总

 1 查看当前连接数 

db.serverStatus().connections

2 加全局锁,一般在从库执行一致性备份

  use admin 

  db.runCommand({fsync:1,lock:1}) //加锁

  db.fsyncUnlock() //解锁

  db.currentOp() 过滤  “fsyncLock”  可以查看是否加锁

 

 

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!