数据库的启动和停止是数据库最主要的操作,也是数据库可以提供服务和被连接管理的前提条件。不同的数据库启动和停止的方式有一些差异。但也有同样之处,启动和关闭也必然会和数据库的进程有关。


        在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的方式。则是不安全的停止方式。有可能造成各种问题。
        而安全停止和不安全停止的差别在于:安全停止在发出停止命令后,数据库在后台会进行一系列的操作来保证数据库终于是一致性关闭。
        但假设是不安全停止,则数据库进程直接没有,数据库不会再后台做一系列的操作保证一致性关闭,下次启动时。就有可能发生各种问题。

mongodb数据库的启动和停止的更多相关文章

  1. MySQL数据库的启动与停止

    有时候我们在任务管理器中无意识的结束了数据库的程序,再用可视化工具连接 时就会显示NO CONNECTION的情况,这样就需要重启数据库服务. 1. 我的电脑右键->管理->服务和应用程序 ...

  2. Oracle数据库的启动与停止

    oracle linux下开启与关闭 .启动ORACLE监听 首先要登录用户oracle:su - oracle oracle@localhost bin]$ lsnrctl --启动oracle监听 ...

  3. MongoDB数据库(一):基本操作

    1.NoSQL的概念 "NoSQL"一词最早于1998年被用于一个轻量级的关系数据库的名字 随着web2.0的快速发展,NoSQL概念在2009年被提了出来 NoSQL最常见的解释 ...

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

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

  5. MongoDB 数据库的学习与使用

    MongoDB 数据库 一.MongoDB 简介(了解) ​ MongoDB 数据库是一种 NOSQL 数据库,NOSQL 数据库不是这几年才有的,从数据库的初期发展就以及存在了 NOSQL 数据库. ...

  6. [DabaBase] MongoDB (6) 启动、停止、相关系统配置及安全性设置

    MongoDB 启动.停止.相关系统配置及安全性设置 启动MongoDB ./mongod —-help 查看帮助说明 mac-abeen:bin abeen$ sudo ./mongod --dbp ...

  7. MongoDB的启动与停止(一)

    1:启动和停止Mongodb    1)从命令行启动      执行mongod,启动MongoDB服务器,mongod有很多可配置的启动选项,可以使用mongod --help查看所有选项   -- ...

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

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

  9. mongodb 之linux下安装、启动、停止、连接

    今天在linux上面安装了mongodb 1.下载linux的mongodb 2.在目录usr/local下创建文件夹mongodb,把安装包解压到该文件夹中 # mkdir mongodb # ta ...

随机推荐

  1. 软件图标显示不正常【win7企业版】

    现象: 原因: 图标缓存没有把该软件图标建立起来 解决: 一. 1.找到 IconCache.db 2.你要把电脑隐藏文件打开不然找不到这个文件的,组织—文件夹及搜索选项——查看——显示隐藏文件.文件 ...

  2. Spring Cloud (11) Hystrix-监控聚合监控

    上一篇利用Hystrix Dashboard去监控断路器的Hystrix command,当我们有很多服务的时候,就需要聚合所有服务的Hystrix Dashboard数据了,这就需要Hystrix ...

  3. 9.Hierarchy Editor

    Hierarchy Editor(层次编辑器) 用于定义3D图层的结构,向Ventuz渲染引擎发出“命令”,并指定命令的发生顺序.通常,每个层次节点都会导致对GPU的一个或多个调用,例如设置材质或渲染 ...

  4. [hihocoder][Offer收割]编程练习赛58

    最大的K-偏差排列 每次取可选范围里的最大的数字,如果最左侧的数字还没有使用就直接使用最左侧的数字 #pragma comment(linker, "/STACK:102400000,102 ...

  5. windows ping 某个网段,不能运行指定的软件

    windows ping 某个网段,不能运行指定的软件 :begin @echo OFF color 0a Title Net Test Tool by:HRuinger Mode con cols= ...

  6. python调用java API

    JPype documentation JPype is an effort to allow python programs full access to java class libraries. ...

  7. 13、scala模式匹配

    1.模式匹配的基础语法 2.对类型进行模式匹配 3.对Array和List的元素进行模式匹配 4.case class与模式匹配 5.Option与模式匹配 1.模式匹配的基础语法 Scala提供了m ...

  8. JavaScript的基础数据类型和表达式

    Java Script的基础数据类型和表达式 基本的数据类型: number(数值)类型:可分为整数和浮点数 string(字符)类型:是用单引号“'”或者双引号“"”来说明的. boole ...

  9. 基于fpga的256m的SDRAM控制器

    2018/7/26 受教于邓堪文老师,开始真真学习控制sdram 由于自己买的sdram模块是256的,原来老师的是128,所以边学边改,不知道最后好不好使,但是我有信心 一.sdram的初始化 sd ...

  10. uvalive 3231

    3231 - Fair ShareAsia - Seoul - 2004/2005You are given N processors and M jobs to be processed. Two ...