当前位置:Gxlcms > 数据库问题 > mongodb数据库的启动和停止

mongodb数据库的启动和停止

时间:2021-07-01 10:21:17 帮助过:28人阅读

        进入MongoDB安装目录 # cd mongodb-linux-x86_64-2.*.*         执行下面的命令启动MongoDB # ./bin/mongod --port 33334 --fork --logpath data/log/mongodb.log --dbpath data/db         启动相关参数说明如下: --port 启动端口号 --fork 以守护进行方式启动 --logpath mongodb 日志输出路径 --dbpath mongodb 数据文件路径         其他选项可以执行命令查看:   ./bin/mongod --help
操作演示:         编写MongoDB启动文件:         vim start.sh   脚本内容如下: cd mongodb-linux-x86_64-2.*.*
./bin/mongod --port 33334 --fork --logpath data/log/mongodb.log --dbpath data/db
        停止脚本启动: chmod +x start.sh ./start.sh         执行结果出现  start sucessful ,说明mongod启动完成,可以通过下面两种方式确认MongoDB启动过程:         确认进程: $ ps -axu | grep mongo         确认日志: cd /data/log tail -f mongodb.log

安全停止MongoDB进程         向MongoDB进程发送信号用于停止MongoDB,如果要安全停止可以有两种信号:sigint 信号,或者 sigterm信号         如何停止: $ kill -2 8888 其中 8888 为mongod进程号 ,该进程号可以通过 ps -axu |grep mongo 获取; -2 表示向mongod进程发送sigint信号 $ kill -4 8888 其中 8888 为mongod进程号 ,该进程号可以通过 ps -axu |grep mongo 获取; -4 表示向mongod进程发送sigterm信号
        上面2种方式如何做到停止安全         mongod进程收到sigint信号或者sigterm信号,会做一些处理: 关闭所有打开的连接; 将内存数据强制刷新到磁盘; 当前的操作执行完毕; 。。。。 安全停止
        除了上面两种直接针对进程的停止方式,还有使用mongod命令shutdown的安全停止方式: > use admin;                     --使用管理员数据库 > db.shutdownServer();
不安全的停止方式有 $ kill -9 8888 其中 8888 为mongod进程号 ,该进程号可以通过 ps -axu |grep mongo 获取; -9 表示向mongod进程发送sigkill信号,MongoDB直接停止,不会做一些相关处理; 数据库直接关闭; 数据丢失; 数据文件损坏; 修复数据库(成本高,有风险)
        通过上面的分析可以看出,MongoDB的启动过程和其他数据库类似,主要是校验数据库文件的一致性,一般不会有太多风险,只要数据库能够正常启动即可;         对于MongoDB的停止,可以通过mongo工具中的shutdown命令安全停止,也可以在查询到MongoDB进程号后,使用kill -2,kill -4 两种方式实现相同的安全停止方式;         如果对MongoDB使用kill -9的方式,则是不安全的停止方式,有可能造成各种问题;         而安全停止和不安全停止的区别在于:安全停止在发出停止命令后,数据库在后台会进行一系列的操作来保证数据库最终是一致性关闭;         但如果是不安全停止,则数据库进程直接没有,数据库不会再后台做一系列的操作保证一致性关闭,下次启动时,就有可能发生各种问题。

版权声明:本文为博主原创文章,未经博主允许不得转载。

mongodb数据库的启动和停止

标签:mongodb

人气教程排行