mongodb常用命令大全
1 索引相关命令
db.chenfeng.ensureIndex({"riqi":1}) 添加索引会阻塞
nohup mongo --eval " db.chenfeng.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” 可以查看是否加锁