最近再用MongoDB做開發,在linux上嘛,習慣性的會使用kill -9 PID來關閉服務。

創新互聯是一家網站設計公司,集創意、互聯網應用、軟件技術為一體的創意網站建設服務商,主營產品:響應式網站設計、成都品牌網站建設、成都全網營銷推廣。我們專注企業品牌在網站中的整體樹立,網絡互動的體驗,以及在手機等移動端的優質呈現。成都做網站、成都網站設計、成都外貿網站建設、移動互聯產品、網絡運營、VI設計、云產品.運維為核心業務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網站的價值服務。
結果每次關閉再重啟mongodb后,mongodb總會自己關閉。看日志也沒看出什么來,然后就百度唄。
發現用kill -9殺死mongodb的后果挺嚴重。
然后去官網逛了一圈,查了一下
MongoDB使用的是內存映射存儲引擎:
它會把磁盤IO操作轉換成內存操作,如果是讀操作,內存中的數據起到緩存的作用,如果是寫操作,內存還可以把隨機的寫操作轉換成順序的寫操作,總之可以大幅度提升性能。
寫操作會被每隔60秒(syncdelay設定)的flush到磁盤里。如果在這60秒內flush處于停止事情我們進行kill -9那么從上次flush之后的寫入數據將會全部丟失。
如果在flush操作進行時執行kill -9則會造成文件混亂,可能導致數據全丟了。
官方描述:
Sending a KILL signal kill -9 will probably cause damage as mongod will not be able to cleanly exit. (In such a scenario, run the repairDatabase command.)
幸虧發現的早啊...不然指不定出什么事故
最后查到可以用以下方法關閉mongodb
1、使用killall mongod
2、使用kil -15 PID
3、在admin用戶下執行db.shutdownServer()命令
分享文章:mongodb關閉方法
文章位置:http://www.yijiale78.com/article2/jcedic.html
成都網站建設公司_創新互聯,為您提供、移動網站建設、網頁設計公司、企業網站制作、域名注冊、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯