一、可能是因爲機器重啓後,導致/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 ,防止數據損壞。