1:包安裝mongodb

配置mongodb源後,進行安裝:

yum install -y mongodb-org

或者:

yum install -y mongodb-org-4.2.8 mongodb-org-server-4.2.8 mongodb-org-shell-4.2.8 mongodb-org-mongos-4.2.8 mongodb-org-tools-4.2.8

爲避免yum更新的時候,mongodb也升級,可以配置/etc/yum.conf:

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

2:mongodb如何運行

使用Linux發行版的Init System管理mongodb的進程管理,可以採用systemd或System V init,通過以下命令得知:

ps --no-headers -o comm 1

CentOS7採用systemd:

systemctl start mongod
systemctl status mongod

#確保重啓啓動的時候自運行mongodb
systemctl enable mongod

3:systemctl運行失敗問題

遇到不能啓動的問題,通過兩種方式排查問題。

(1)查看systemctl日誌

systemctl status mongod.service

如下錯誤:

ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
ERROR: child process failed, exited with error number 14

(2)查看mongodb啓動日誌

CONTROL  [initandlisten] build environment:
CONTROL  [initandlisten]     distmod: rhel70
CONTROL  [initandlisten]     distarch: x86_64
[initandlisten] Failed to start up WiredTiger under any compatibility version
[initandlisten] Reason: 13: Permission denied

看的出來是權限問題,配置dbpath和logpath目錄權限:

chown mongod:mongod  目錄 -R

再次運行成功

4:systemctl 如何啓動mongodb

查看 /usr/lib/systemd/system/mongod.service 文件,如果要修改,則必須:

systemctl daemon-reload
systemctl status mongod.service

5:如何輪轉mongodb日誌文件

(1)發送信號

kill -SIGUSR1  `ps -aux | grep -v grep |  grep mongodb | awk '{print $2}'`

(2)或使用mongodb管理命令

use admin
db.runCommand({logRotate:1})

6:環境

php7.2.8,mongodb server是4.2,php mongodb ext是1.7,php mongodb library是1.6。

參考:

  • https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

  • https://docs.mongodb.com/manual/reference/command/logRotate/index.html

相關文章