將mongodb部署在服務器機子上時mongodb的實例應爲後臺服務進行的方式運行,而非前臺進程,否則遠程會話一關閉mongodb也跟着關閉了。
本文介紹mongodb後臺服務進程開啓和關閉的操作。
開啓mongo db後臺服務
使用--fork
參數啓動
1 2 3 4 | mongod --fork --logpath <log_file_path> --dbpath <db_folder_path> --fork 將mongod作爲後臺服務啓動,並必須要跟隨 --logpath 指定日誌文件路徑,如果該日誌文件不存在會被自動創建 --dbpath 數據的存儲目錄 |
關閉mongo db服務
- 使用shutdownServer()
1 2 3 | # mongo // 從linux命令行進入mongod命令行 > use admin // 切換到管理員模式 > db.shutdownServer() // 關閉mongodb服務 |
具體操作見下圖:
- 使用 —shutdown
也可以使用--shutdown
進行關閉。但要指定--dbpath
,因爲一臺機器上可以運行着多個mongodb實例,避免誤殺。
1 | mongod --shutdown --dbpath <db_folder_path> |
- 使用 kill 命令
在Linux機器上也可以通過ps aux | grep mongo
過濾出mongodb服務並找出對應的進程id後,使用kill命令進行關閉。
1 2 | kill <mongod process ID> kill -2 <mongod process ID> |
但不要使用kill -9 (i.e. SIGKILL)
.kill -9
命令迫使進程在運行時突然終止,進程在結束後不能自我清理。可能導致系統資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。
- 前臺進程可以使用 Ctrl+C
當沒有使用--fork
參數時,爲前臺進程,可以直接使用Ctrl+C
關閉,或者直接關閉遠程會話。
走過的彎路
曾經誤入歧途,使用yum install mongodb-server
及service mongod start
,可以啓動,但mongodb默認屬於低版本,啓動的mongodb配置文件需另外指定。