如何在一个命令中停止mongo数据库
我需要能够在cli上启动/停止MongoDB。 开始很简单:
./mongod
但是要停止mongo DB,我需要首先运行打开的mongo shell,然后键入两个命令:
$ ./mongo
使用pipe理员
db.shutdownServer()
所以我不知道如何在一行中停止mongo DB。 任何帮助?
在MongoDB手册中介绍了启动和停止MongoDB 。 它解释了通过shell,cli,驱动程序等来停止MongoDB的各种选项。它还详细介绍了错误地停止MongoDB(比如数据损坏)的风险,并讨论了不同的kill信号。
此外,如果您已经使用Ubuntu或Debian的软件包pipe理器安装了MongoDB,那么您可以按如下步骤停止mongod:
-
新贵:
sudo service mongod stop
-
Sysvinit:
sudo /etc/init.d/mongod stop
或在Mac OS X上
-
使用
$ top
查找mongod进程的PID -
杀死进程
$ kill <PID>
( Mongo文档有更多的信息 )
或者在基于Red Hat的系统上:
-
service mongod stop
或者在Windows上,如果您已经安装了一个名为MongoDB
的服务:
-
net stop MongoDB
如果不作为服务安装(从Windows 7+开始),您可以运行:
-
taskkill /f /im mongod.exe
要了解有关不清洁关机问题的更多信息,请参阅: 意外关机后恢复数据 。如何最好地避免这种情况,以及在不正常关机的情况下应采取的措施。
如果你真的想要一行代码与你原来的问题相同,你可以使用别名:
mongo --eval "db.getSiblingDB('admin').shutdownServer()"
Mark通过服务来启动和停止MongoDB的答案是更典型的(并且是推荐的)pipe理方法。
mongod --dbpath /path/to/your/db --shutdown
官方更多信息: http : //docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
如果服务器在terminal中作为前台进程运行,则可以通过按下来完成
Ctrl-C
干净地closures正在运行的服务器的另一种方法是使用shutdown命令,
> use admin > db.shutdownServer();
否则,可以使用像kill这样的命令来发送信号。 如果mongod具有10014作为其PID,则该命令将是
kill -2 10014
一个内线使用命令行来启动或停止mongodb服务;
- 要启动服务,请使用:
NET START MONGODB
- 停止服务使用:
NET STOP MONGODB
我自己用这个,确实有用。
我只是做了:
quit();
请注意我正在使用mongo 3.0。
蒙戈
使用mongod --shutdown
根据官方文档: manage-mongodb-processes /
:d
我在Ubuntu上使用这个启动脚本。
#!/bin/sh ### BEGIN INIT INFO # Provides: mongodb # Required-Sart: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: mongodb # Description: mongo db server ### END INIT INFO . /lib/lsb/init-functions PROGRAM=/opt/mongo/bin/mongod MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'` test -x $PROGRAM || exit 0 case "$1" in start) log_begin_msg "Starting MongoDB server" ulimit -v unlimited. ulimit -n 100000 /opt/mongo/bin/mongod --fork --quiet --dbpath /data/db --bind_ip 127.0.0.1 --rest --config /etc/mongod.conf. log_end_msg 0 ;; stop) log_begin_msg "Stopping MongoDB server" if [ ! -z "$MONGOPID" ]; then kill -15 $MONGOPID fi log_end_msg 0 ;; status) ;; *) log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}" exit 1 esac exit 0
从给定的命令,我认为你在Linux上。
启动MongoDB:
$ sudo service mongod start mongod start/running, process XXXXX
检查状态:
$ sudo service mongod status mongod start/running, process XXXXX
停止MongoDB:
$ sudo service mongod stop mongod stop/waiting
在你的mac上的terminal窗口中,按下control + c
视窗
在PowerShell中,它是: Stop-Service MongoDB
然后再次Start-Service MongoDB
: Start-Service MongoDB
要validation它是否已启动,请运行: net start | findstr MongoDB
net start | findstr MongoDB
。
注意:上面假设MongoDB被注册为服务 。
创build一个名为mongostop.bat的文件
将下面的代码保存在其中
mongo admin --eval "db.shutdownServer()"
运行文件mongostop.bat并成功停止mongo