MongoDB命令行与进程是怎样的
admin
2023-04-13 19:21:40
0

一、命令行

MongoDB shell 不仅仅是一个交互式的 shell,它也支持执行指定 javascript文件,也支持执行
指定的命令片断。
有了这个特性,就可以将 MongoDB 与 linux shell 完美结合,完成大部分的日常管理和维护
工作。
1 通过 eval 参数执行指定语句
一般我们这样执行一条命令:

MongoDB shell version: 2.4.7
connecting to: test
> db.stu.count()
10
>

实际上我们也可以这样:通过命令行 eval 参数直接执行语句:
MongoDB命令行与进程是怎样的

2 执行指定文件中的内容
如果涉及到很多的操作后,才能得到结果,那么用 eval 的方式来做的话是不可能完成的,
那么更灵活的执行指定文件的方式就派上用场了。例如我们仍然要查看 test 库 stu 表中的记
录数:

cat stu.js
var total = db.stu.count();
printjson('total count of stu is:'+ total);
printjson('----------------');

MongoDB命令行与进程是怎样的

大家可以看到最终得到stu表的记录数10,那么一些不必要的说明性文字我们要是不希望出
现该怎么办呢?
MongoDB命令行与进程是怎样的

通过指定 quiet 参数,即可以将一些登录信息屏蔽掉,这样可以让结果更清晰。

二、进程控制

DBA 经常要解决系统的一些查询性能问题,此时一般的操作习惯是先查看有哪些进程,
然后将异常的进程杀掉,那么 MongoDB 是怎么样处理的呢?

1 查看活动进程
查看活动进程,便于了解系统正在做什么,以便做下一步判断

db.currentOp()
{
    "inprog" : [
        {
            "opid" : 62475494,
            "active" : true,
            "secs_running" : 2,
            "op" : "getmore",
            "ns" : "local.oplog.rs",
            "query" : {
                                                                                                                                                                                            
            },
            "client" : "192.168.129.21:33065",
            "desc" : "conn1938595",
            "threadId" : "0x40458940",
            "connectionId" : 1938595,
            "waitingForLock" : false,
            "numYields" : 0,
            "lockStats" : {
                "timeLockedMicros" : {
                    "r" : NumberLong(83),
                    "w" : NumberLong(0)
                },
                "timeAcquiringMicros" : {
                    "r" : NumberLong(8),
                    "w" : NumberLong(0)
                }
            }
        }
    ]
}

字段说明:
Opid: 操作进程号
Op: 操作类型(查询,更新等)
Ns: 命名空间, 指操作的是哪个对象
Query: 如果操作类型是查询的话,这里将显示具体的查询内容
lockType: 锁的类型,指明是读锁还是写锁

2 结束进程
如果某个异常是由于某个进程产生的,那么一般 DBA 都会毫不留情的杀掉这个罪魁祸首的
进程,下面将是这操作

> db.killOp(1234/*opid*/)

注意:
不要 kill 内部发起的操作,比如说 replica set 发起的 sync 操作等

相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...