Nov 21 02:10:31 update systemd[1]: Started MongoDB Database Server.
-- Subject: A start job for unit mongod.service has finished successfully
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit mongod.service has finished successfully.
--
-- The job identifier is 715.
Nov 21 02:10:31 update mongod[707]: {"t":{"$date":"2023-11-21T02:10:31.663Z"},"s":"I", "c":"CONTROL", "id":7484500, "ctx":"main","msg":"Environmen>
Nov 21 02:10:31 update systemd[1]: mongod.service: Main process exited, code=exited, status=14/n/a
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- An ExecStart= process belonging to unit mongod.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 14.
Nov 21 02:10:31 update systemd[1]: mongod.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit mongod.service has entered the 'failed' state with result 'exit-code'.
Main process exited, code=exited, status=14
위와 같은 메세지와 함께 에러가 뜨는 경우가 발생하는 경우, 로그폴더 및 스토리지 폴더의 권한 및 소유권을 다 mongodb 계정으로 보여해도 서비스가 실행되지 않는 경우가 있다.
이 경우에는 아래와 같은 명령어로 해결한다.
최초 설치시 몽고디비 구성파일과 lock 파일이 mongod 의 소유가 아니기에 생긴 이슈
chown -R mongodb:mongodb /var/lib/mongodb
chown mongodb:mongodb /tmp/mongodb-27017.sock
근데 어차피 다시 실행하면 또 권한이 바뀌어있다.
이런 경우 아래와 같이 바꾸는게 좋다.
# 편집기를 이용해 해당 파일을 수정한다
nano /lib/systemd/system/mongod.service
---------------------------------------------------------------------
[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network-online.target
Wants=network-online.target
[Service]
User=mongodb
Group=mongodb
EnvironmentFile=-/etc/default/mongod
Environment="MONGODB_CONFIG_OVERRIDE_NOFORK=1"
#Environment=""
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
#======= 추가
ExecStartPre=/bin/bash -c 'if [ -S /tmp/mongodb-27017.sock ]; then chown mongodb:mongodb /tmp/mongodb-27017.sock; fi'
PermissionsStartOnly=true
#======= 추가-끝
RuntimeDirectory=mongodb
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for mongod as specified in
# https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings
[Install]
WantedBy=multi-user.target
반응형
'데이터베이스' 카테고리의 다른 글
간단하고 쉬운 node.js용 데이터베이스 nedb (1) | 2023.05.06 |
---|