【原创】mongod 进程的启动、停止
前言
1、概要
mongod 进程的启动与停止虽然比较简单,但一些与常见服务启停不同的地方,也有一些小坑。请参考下文
2、相关环境
Ubuntu 18.04.5
MongoDB 3.6.3
正文
正文部分的操作示例均使用 mongodb 用户。
1、启动进程
启动 mongod 进程可以指定配置文件位置,也可以设置某些数据库参数。
mongod --config /config/path/mongodb.conf
示例:
nohup mongod --setParameter failIndexKeyTooLong=false --config /etc/mongodb.conf >/dev/null 2>&1 &
2、停止进程
停止 mongod 进程有多种方法,下面展示两种常用的方法。
(1) mongod --shutdown
这种方法是 MongoDB 官方文档给出的,且是由 mongod 直接提供的功能,即使用 mongod --shutdown 的方式,不过这种方式也有要注意的地方,请看下文:
mongod --shutdown
注:mongod 数据库默认在 /data/db 目录,如果不在此目录,直接运行 mongod --shutdown 则会出现如下提示:
$ mongod --shutdown
There doesn't seem to be a server running with dbpath: /data/db
所以更合理的方法是指定 mongodb 的配置文件,如下示例:
$ ps -ef | grep mongo
mongodb 634 1 0 Sep29 ? 02:07:41 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
$ mongod --config /etc/mongodb.conf --shutdown
killing process with pid: 634
(2) kill process
使用 kill -2 pid 或者 kill -TERM pid 停止 mongod 进程,如下示例
$ ps -ef | grep mongod | grep -v grep | awk '{print $2}' | xargs sudo kill -2
注:千万不要使用 kill -9 去停止 mongod 进程!!!mongodb 官方也提到了这一点,这样可能导致数据丢失,数据库崩溃等不可预知的问题。
总结
如果你是使用 apt 安装的 mongodb-server,那么启动、停止将更加简单。下面操作示例均使用非 mongodb,非 root 的普通账号进行。
1、启动进程
service mongodb sart
示例:
$ service mongodb start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'mongodb.service'.
Authenticating as: jiangzl,,, (jiangzl)
Password:
==== AUTHENTICATION COMPLETE ===
2、停止进程
service mongodb stop
示例:
$ service mongodb stop
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to stop 'mongodb.service'.
Authenticating as: jiangzl,,, (jiangzl)
Password:
==== AUTHENTICATION COMPLETE ===
3、其他常用操作
service mongodb restart # 重启 mongodb 服务
tail -100f /var/log/mongodb/mongodb.log # 查看 mongodb 运行日志
附录
参考 mongodb 进程管理官方文档
https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/index.html
近期评论