数据库的启动和停止是数据库最主要的操作,也是数据库可以提供服务和被连接管理的前提条件。不同的数据库启动和停止的方式有一些差异。但也有同样之处,启动和关闭也必然会和数据库的进程有关。
在oracle数据库中。数据库的启动和停止都是分三个过程的。正常的启动方法都是在sqlplus中运行startup命令启动,或者shutdown immediate命令关闭数据库;
在一些特殊的情况下,会通过shutdown abort或者kill后台进程的方式强制关闭数据库。
在MySQL数据库中,数据库的启动也是通过mysqld或者mysqld_safe命令加配置文件的方式进行启动,关闭时使用mysqladmin工具加shutdown选项的命令进行mysql数据库的正常关闭。
通过确认kill进程的方式与shutdown命令的方式停止过程同样,也能够通过kill进程的方式实现mysql的关闭; 
对于MongoDB数据库的启动和停止。能够通过以下的方法进行研究:
启动MongoDB
进入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的方式。则是不安全的停止方式。有可能造成各种问题。
而安全停止和不安全停止的差别在于:安全停止在发出停止命令后,数据库在后台会进行一系列的操作来保证数据库终于是一致性关闭。
但假设是不安全停止,则数据库进程直接没有,数据库不会再后台做一系列的操作保证一致性关闭,下次启动时。就有可能发生各种问题。

转载于:https://www.cnblogs.com/lxjshuju/p/7098780.html

mongodb数据库的启动和停止相关推荐

  1. oracle 9i 启动数据库,Oracle9i数据库的启动和停止

    [IT168 服务器学院]Oracle9I开始,取消了服务器管理器(svrmgl)和internal用户,数据库的启动和停止都是通过sql*plus来完成!Oracle10g可以通过浏览器来启动和停止 ...

  2. MAC下MongoDB的安装启动及停止

    1.到官网下载安装包 地址:https://www.mongodb.com/download-center?jmp=nav#community 下载解压后的文件夹如下: 我们可以将其名称改为mongo ...

  3. 数据库-Windows启动和停止mysql

    Windows图形化界面启动和停止 服务-----mysql服务 cmd命令行启动和停止 启动:net start mysql 停止:net stop mysql 显示数据库中的表:show  dat ...

  4. 数据库基础知识——MySQL服务的启动和停止

    文章目录 1.数据库的启动 1.1 从计算机管理启动 1.2 从cmd启动 2.数据库的停止 1.1 从计算机管理停止 1.2 从cmd停止 \qquad 在登录数据库之前,必须保证数据库已经启动.数 ...

  5. MySql——安装与配置与启动和停止

    在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大 ...

  6. MongoDB详解(四)——MongoDB数据库安装

    今天继续给大家介绍Linux运维相关知识,本文主要内容是MongoDB数据库安装. 一.MongoDB数据库安装 首先,我们先下载MongoDB数据库,执行命令: wget https://fastd ...

  7. Ubuntu下MySQL、Redis以及MongoDB三个数据库的启动、重启以及停止命令

    一.MySQL #启动 /etc/init.d/mysql start #停止 /etc/init.d/mysql stop #重启 /etc/init.d/mysql restart 二.Redis ...

  8. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  9. //MySQL核心技术// 数据库的介绍、MySQL-5.5.15安装包以及详细安装教程、卸载注册表、MySQL服务的启动与停止、登录与退出

    尚硅谷MySQL核心技术-李玉婷 1.开发者使用的数据库排名: 来源于调查数据: MySQL SQL Server SQLite PostgreSQL MongDB Oracle Redis Cass ...

最新文章

  1. HTML Inspector – 帮助你编写高质量的 HTML 代码
  2. 关于Docker目录挂载的总结(转)
  3. sqlserver 把两个sql查询语句查询出来的两张表合并成一张表
  4. 从前到后的CAN总线(一)
  5. 使用FastJson解析时有关内部类的两个问题
  6. 实用 —— PowerCLI (一)
  7. SAP Spartacus 的 git flow 和发布流程
  8. Linux下GitLab的安装及使用
  9. python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)...
  10. 建立一个lstm_基于LSTM的双色球预测(一)
  11. JAVA基于J2ME的手机游戏开发免费
  12. 电工结业试卷_维修电工技师二级难吗考试内容怎么样
  13. 前端特效 - 前置- - 01. 百叶窗
  14. 双网卡实现同时上内外网方法
  15. ASP类计算机专业毕业设计题目
  16. Java小游戏项目之坦克世界
  17. 自写密码字典-解口令具体过程(海德拉)
  18. (java)2的幂次方
  19. 新锐房地产销售管理系统 (部分流程)技术解析(一)用三层架构搭建项目
  20. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(一、编译连接前准备)

热门文章

  1. 凭证反过账 金蝶k3_建议收藏!金蝶快捷键操作大全!
  2. lesson2 欧拉数值方法及推广
  3. 基于预训练深度学习算法的番茄作物病害分类
  4. 深度学习中的梯度下降算法
  5. Numpy的使用(1)
  6. oracle找出大于1g的表,表占用太大空间问题!
  7. php 数组中连续的数字,php数组中最近的次要数字
  8. 基于Bert-NER构建特定领域中文信息抽取框架
  9. 网站流量预测任务第一名解决方案:从GRU模型到代码详解时序预测
  10. java常见的gc回收器_一篇文章让你了解GC垃圾回收器