mongodb的幾種啓動方式以及關閉方式

啓動MongoDB服務有兩種方式,前臺啓動或者Daemon方式啓動,前者啓動會需要保持當前Session不能被關閉,後者可以作爲系統的fork進程執行,下文中的path是mongodb部署的實際地址。
1. 最簡單的啓動方式,前臺啓動,僅指定數據目錄,並且使用默認的27107端口,cli下可以直接使用./mongo連上本機的mongodb,一般只用於臨時的開發測試。

[plain] view plain copy
./mongod --dbpath=/path/mongodb  
2. 啓動綁定固定的IP地址、端口,這就mongo在連接mongod的時候就需要指定IP和端口了。
[plain] view plain copy
./mongod --dbpath=/path/mongodb --bind_ip=10.10.10.10 --port=12345  
//連接mongod  
./mongo 10.10.10.10:12345  
3. daemon後臺運行,簡單的是命令後面加“&”。
[plain] view plain copy
./mongod --dbpath=/path/mongodb --bind_ip=10.10.10.10 --port=12345 &  

    或者使用mongod自帶的--fork參數,此時必須指定log的路徑。
[plain] view plain copy
./mongod --dbpath=/path/mongodb --fork=true logpath=/path/mongod.log  
4. (推薦)以配置文件形式保存配置。
[plain] view plain copy
port=12345  
bind_ip=10.10.10.10  
logpath=/path/mongod.log  
pidfilepath=/path/mongod.pid  
logappend=true  
fork=true  

  然後啓動mongod時引入配置文件
[plain] view plain copy
./mongod -f /path/mongod.conf  

下面是mongod啓動的常用參數詳細說明:
參數 說明 取值示例
dbpath mongodb數據文件存儲路徑 /data/mongodb
logpath mongod的日誌路徑 /var/log/mongodb/mongodb.log
logappend 日誌使用追加代替覆蓋 true
bind_ip 綁定的IP 10.10.10.10
port 綁定的端口 27107
journal write操作首先寫入“日記”,是一個數據安全的設置,具體參考官方文檔。 true

Mongodb的關閉:
前臺運行:

如果沒有使用–fork,直接可以前臺退出終端關閉。通過這種方式,Mongodb將會自己做清理退出,把沒有寫好的數據寫完成,並最終關閉數據文件。要注意的是這個過程會持續到所有操作都完成。

後臺運行:

如果使用–fork在後臺運行mongdb服務,那麼就要通過向服務器發送shutdownServer()消息來關閉。

1、普通命令:
$ ./mongod

use admin
db.shutdownServer()

要注意的是,這個命令只允許在本地,或是一個經過認證的客戶端。

2、如果這是一個主從式的複製集羣,在1.9.1版本後將按下面的步驟來關閉
檢查從Mongodb的數據更新時間
如果所有的從Mongodb和主的時間差都超過10,這個時候不會關閉mongodb(在這種情況下面,我們可以通過配置timeoutSecs的方式來讓從Mongodb完成數據的更新)
如果其中有一個從Mongodb與主服務時間差在10秒內,那麼主服務器將會關閉,並且等待從Mongodb更新完成並關閉。
3、如果沒有up-to-date 從Mongodb且你想強制關閉服務,可以通過添加force:true;命令如下:

> db.adminCommand({shutdown : 1, force : true})
> //or
> db.shutdownServer({force : true})

4、指定特定超時時間的關閉服務器,命令同上,另外加上一個timeoutsec:參數

db.adminCommand(shutdown : 1, force : true, timeoutsec : 5)
//or
db.shutdownServer({force : true, timeoutsec : 5})

Mongodb開機啓動

在/etc/rc.local文件末尾添加下面的代碼

#add mongodb service
rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/mongdb_data/ --logpath=/data/mongdb_log/mongodb.log --logappend &
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章