• mongodb数据库的启动和停止


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


            在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的方式。则是不安全的停止方式。有可能造成各种问题。
            而安全停止和不安全停止的差别在于:安全停止在发出停止命令后,数据库在后台会进行一系列的操作来保证数据库终于是一致性关闭。
            但假设是不安全停止,则数据库进程直接没有,数据库不会再后台做一系列的操作保证一致性关闭,下次启动时。就有可能发生各种问题。
  • 相关阅读:
    Entity Framework+SQLite+DataBaseFirst
    接口的实现方式(显示和隐示)及协变和逆变
    C#线程
    UIScrollView放大缩小图片偏移的问题
    SQL Server 2008在添加用户时弹出错误提示:此版本的 Microsoft Windows 不支持 MUST_CHANGE 选项
    jmeter的正则表达式的使用
    Linux下安装jmeter
    系统测试方案
    [ASP.NET].NET逻辑分层架构总结
    [C#]C#时间日期操作
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7098780.html
Copyright © 2020-2023  润新知