MongoDB 提供几种关闭服务的命令,具体为以下:

一、使用 Crtl+C 关闭

[mongo@redhatB data]$ mongod --dbpath=/database/mongodb/data/ --logpath=/var/applog/mongo_log/mongo.log --logappend 
--port=27017 --journal > start_mongo.log 2>&1

光标:键入 Crtl+C 关闭

备注:如果以前台方式启动 MongoDB 服务,使用“Crtl+C” 服务会关闭,这种关闭方式会等待。

当前进行中的的操作完成,所以依然是干净的关闭方式。

二、使用数据库命令关闭

–2.1 开启服务

[mongo@redhatB data]$ mongod -f /database/mongodb/data/mongodb_27017.conf
forked process: 18155
all output going to: /var/applog/mongo_log/mongo.log
child process started successfully, parent exiting

–2.2 登陆数据库

[mongo@redhatB data]$ mongo
MongoDB shell version: 2.2.1
connecting to: test

–2.3 关闭 MongoDB 服务

> use admin;
switched to db admin
> db.shutdownServer();
Wed Nov 14 06:07:33 DBClientCursor::init call() failed
Wed Nov 14 06:07:33 query failed : admin.$cmd { shutdown: 1.0 } to: 127.0.0.1:27017
server should be down...
Wed Nov 14 06:07:33 trying reconnect to 127.0.0.1:27017
Wed Nov 14 06:07:33 reconnect 127.0.0.1:27017 failed couldnt connect to server 127.0.0.1:27017

三、使用 mongod 命令关闭

[mongo@redhatB data]$ mongod  --shutdown  --dbpath /database/mongodb/data/
killing process with pid: 17747

备注:mongod 命令的 shutdown 选项能干净的关闭 MongoDB 服务。

四、使用 kill 命令

–4.1 查看 mongo 相关进程

[mongo@redhatB data]$ ps -ef | grep mongo
root     17573 14213  0 05:10 pts/1    00:00:00 su - mongo
mongo    17574 17573  0 05:10 pts/1    00:00:00 -bash
mongo    18288      1 0 06:12 ?      00:00:00 mongod -f /database/mongodb/data/mongodb_27017.conf
mongo    18300 17574  6 06:13 pts/1    00:00:00 ps -ef
mongo    18301 17574  0 06:13 pts/1    00:00:00 grep mongo

–4.2 kill mongo 服务进程

[mongo@redhatB data]$ kill 18288
[mongo@redhatB data]$ ps -ef | grep pmon
mongo    18304 17574  0 06:13 pts/1    00:00:00 grep pmon

备注:可以使用操作系统的 kill 命令,给 mongod 进程发送 SIGINT 或 SIGTERM 信号,

即 "kill -2 PID," 或者 “kill -15 PID“。

建议不要使用 ”kill -9 pid“,因为如果 MongoDB 运行在没开启日志(–journal)的情况下, 可能会造成数据损失。

众多python教程,尽在云海天教程网,欢迎在线学习!

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » mongodb 如何停止服务