mongodb服務器重啓失敗的原因分析

一、可能是因爲機器重啓後,導致/var/run 下面的mongodb目錄被刪除了。
要重新新建這個目錄
cd /var/run
mkdir mongodb
然後授權成mongod用戶
chown mongod:mongod mongodb
最後就可以使用service來管理相關的啓停服務了
service mongod start

不授權成mongod用戶也可以,只是mongod.service文件裏也要注意權限。root可以重啓mongod權限的文件,但是mongod用戶無法啓動root權限的文件。但是root用戶操作數據庫通常有風險,所以改用mongod。

mongodb有幾個文件比較重要
配置文件目錄:  /etc/mongod.conf
數據目錄:/var/lib/mongo
啓停服務:service mongod status/restart/start/stop
sock 文件:/tmp目錄下
日誌文件:/var/log//mongodb/mongod.log
PID文件:/var/run/mongodb/mongod.pid
要是找不到可以find  find / -name mongod.log
重啓後還是報錯,可查看日誌:sudo tail -f  /var/log//mongodb/mongod.log

二、報錯:mongod.service - SYSV: Mongo is a scalable, document-oriented database

Cent OS 7上需要把mongoDB添加到systemd,否則會出現上面的錯誤
將mongoDB添加到systemd

# vim /usr/lib/systemd/system/mongod.service 

文件內容編輯如下:

———————————————————————————————————————
[Unit]
Description=mongodb database

[Service]
User=mongod   #先看文件夾的權限,如果是root,那麼就要改爲root。由於我就是root,而我用了mongod所以提示無權限讀取mongod.bson 
Group=mongod #先看文件夾的權限,如果是root,那麼就要改爲root
Environment="OPTIONS=--quiet -f /etc/mongod.conf" # mongod.conf文件的路徑
ExecStart=/usr/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid   #PID文件的路徑

[Install]
WantedBy=multi-user.target

——————————————————————————————————————
建立鏈接:
ln -s /usr/lib/systemd/system/mongod.service /etc/systemd/system/multi-user.target.wants/

重新加載systemctl:
systemctl daemon-reload

三、重啓XMDB提示 27071:0.0.0.0端口重複,此時要先查到進程號,殺進程。
注意,kill進程的時候,儘量用kill -15 pid ,不要用 kill -9 pid ,防止數據損壞。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章