默认的情况下,关闭shell,mongodb就停止运行了。
如果想在后台运行,启动时只需添加 --fork函数即可。
可以在日志路径后面添加--logappend,防止日志被删除。
bin/mongodb --fork --dbpath=// --logpath=// --logappend
在后台运行,如果想要关闭它的话,需要给他发送shutdownServer()
1、普通命令:
$ ./mongod
> use admin
> db.shutdownServer()
要注意的是,这个命令只允许在本地,或是一个经过认证的客户端。
2、如果这是一个主从式的复制集群,在1.9.1版本后将按下面的步骤来关闭
- 检查从Mongodb的数据更新时间
- 如果所有的从Mongodb和主的时间差都超过10,这个时候不会关闭mongodb(在这种情况下面,我们可以通过配置timeoutSecs的方式来让从Mongodb完成数据的更新)
- 如果其中有一个从Mongodb与主服务时间差在10秒内,那么主服务器将会关闭,并且等待从Mongodb更新完成并关闭。
3、如果没有up-to-date 从Mongodb且你想强制关闭服务,可以通过添加force:true;命令如下:
> db.adminCommand({shutdown : 1, force : true})
> //or
> db.shutdownServer({force : true})
4、指定特定超时时间的关闭服务器,命令同上,另外加上一个timeoutsec:参数
> db.adminCommand(shutdown : 1, force : true, timeoutsec : 5)
> //or
> db.shutdownServer({force : true, timeoutsec : 5})