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


        在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. React容器组件和展示组件

    Presentational and Container Components   展示组件   - 只关心它们的样子.   - 可能同时包含子级容器组件和展示组件,一般含DOM标签和自定的样式.   ...

  2. js-消息对话框

    最近在某技术网站学习一些js(JavaScript)的课程,将笔记分享一下 消息对话框1. **alert **消息对话框,输出内容,可以是字符串或变量,与document.write 相似   va ...

  3. [Windows Server 2012] 手工破解MySQL密码

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:破解MySQL ...

  4. 在PHP中调用php_ssh实现远程登陆linux服务器并执行shell脚本。

    这个功能主要用于在web端利用程序对远程服务器进行操作,通过PHP_ssh执行shell脚本来实现. 首先要安装php_ssh2组件,linux中centos7下有ssh2源,直接安装.window下 ...

  5. iOS 9 中可用的受信任根证书列表

    iOS 受信任证书存储区包含随 iOS 预安装的可信根证书.  https://support.apple.com/zh-cn/HT205205 关于信任和证书 iOS 9 受信任证书存储区包含三类证 ...

  6. 删除Git服务器文件但是保留本地文件

    参考: https://blog.csdn.net/u012804886/article/details/83059315 https://www.cnblogs.com/wfsovereign/p/ ...

  7. centos7安装个人网盘owncloud

    现在个人资料越来越重要,网络速度也已经满足日常需要,网盘已经是生活着存取个人数据不可缺少的工具. 下面在linxu centos7下面安装owncloud搭建自己私人网盘: 1.新建一个账号用来安装个 ...

  8. ImageMagick的下载和配置

    2. 新建一个VC++的工程,项目->属性 VC++目录中 包含目录中加入4项,ImageMagick安装路径下的include文件夹,和include里边的三个文件夹. 库目录中加入1项,Im ...

  9. C/C++ 中野指针产生的问题

    野指针产生的问题: 野指针的定义: > 野指针是指:指向一个已删除的对象或未申请访问受限内存区域的指针.与空指针不同,野指针无法通过简单地判断是否为NULL避免,而只能通过养成良好的编程习惯来尽 ...

  10. 啥是SQL?

    SQL:(Structured Query Language)是结构化查询语言缩写.是一门专门与数据库管理系统打交道的语言. SQL语言:是关系型数据库的标准语言,,其主要用于存取数据,查询数据,更新 ...