mongodb資料庫的啟動和停止

來源:互聯網
上載者:User

標籤: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的方式,則是不安全的停止方式,有可能造成各種問題;

        而安全停止和不安全停止的區別在於:安全停止在發出停止命令後,資料庫在後台會進行一系列的操作來保證資料庫最終是一致性關閉;

        但如果是不安全停止,則資料庫進程直接沒有,資料庫不會再後台做一系列的操作保證一致性關閉,下次啟動時,就有可能發生各種問題。



mongodb資料庫的啟動和停止

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.