일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- OCR
- jest
- nodejs
- Bull
- TypeScript
- game
- AWS
- 정렬
- class
- Python
- MongoDB
- typeORM
- nestjs
- 자료구조
- GIT
- react
- mongoose
- Queue
- MySQL
- 게임
- flask
- Express
- Sequelize
- JavaScript
- Dinosaur
- dfs
- cookie
- Nest.js
- 공룡게임
- Today
- Total
포시코딩
[MongoDB] sudo systemctl start mongod 반응 없을 때 (Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted) 본문
[MongoDB] sudo systemctl start mongod 반응 없을 때 (Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted)
포시 2022. 12. 15. 11:01개요
EC2에 Express 서버랑 MongoDB 까지 다 세팅해놓고 잘 시간이 되어 인스턴스 종료 후
다음날 다시 인스턴스를 재시작하여 나머지 세팅을 진행하였는데
다시 실행한 서버에서 MongoDB 연결을 못하고 있었고
확인해보니 잘되던 MongoDB가 뭔 짓을 해도 켜지질 않았다.
sudo service mongod start
sudo systemctl start mongod
위 명령어 둘다 먹통
따로 에러라도 출력이 되면 좋겠는데 그것도 아니었다.
원인 파악
일단 어제까지만해도 잘 켜지는걸 확인했으니
하룻밤사이 뭔가 바뀐게 있어 안되는 것이 확실시 되는 상황.
그 사이에 내가 했던 것들을 되돌아보면 pm2를 깔기 위해 sudo -s를 통해
관리자 계정으로 전환할 일이 있었다.
예전에 리눅스 서버를 다루며 관리자 계정으로 전환하면
뜬금없이 어떤 파일들이 관리자 권한으로 넘어가는 일을 겪어봤던 나는 권한 문제가 의심됐지만
어떤 파일의 어떤 권한 상태가 문제인지 찾아야 하는게 과제였다.
그렇게 계속 여러 키워드로 구글링을 하던 중
한 블로그에서 MongoDB의 log 파일을 여는 방법을 통해 원인을 파악하는걸 확인.
나도 바로 확인해봤다.
sudo tail /var/log/mongodb/mongod.log
역시 내가 MongoDB 서비스 실행을 시도한 시간에 로그가 찍히고 있었다.
처음엔 어떻게 봐야하는지 몰라 한줄한줄 검색해보다가 발견했다.
Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted
not permitted. 즉, 허용되지 않음. 이거다!
해결 방법
위에서 찾은 로그 내용을 바탕으로 구글링을 했더니 감사하게도 비슷한 상황에서 해결한 블로그 포스팅이 있었다.
이분도 마찬가지로 잘 서비스중이던 MongoDB 프로세스에 문제가 생긴거였다.
원인은 mongodb-27017.sock 파일에 설정된 접근권한이 MongoDB에게 허용되지 않아서였고
해결방법으론 mongodb-27017.sock 파일의 접근 권한을 변경하거나 파일을 삭제한 후
서비스를 재시작 하면 되는거였기에 나는 후자의 방법을 택했다.
삭제 후 다시 실행한 결과 이렇게 active (running)이 되는 것을 볼 수 있었다. 해결!!
느낀점
처음엔 당황해서 주위에 물어봐야하나 싶었는데
냉정하게 예전 경험을 떠올리고 log 파일을 찾아 분석을 통해 해결까지 하니까
오랜만에 너무 뿌듯했고 스스로도 성장하는걸 느낄 수 있는 시간이었다.
제목에 일부러 비슷한 상황인 사람들이 검색하다 걸리게 최대한 길게 써놨는데 이 글을 보고 도움이 됐음 좋겠다.
결정적 도움을 받은 곳들
https://spiralmoon.tistory.com/entry/MongoDB-tmpmongodb-27017sock-error-operation-not-permitted
'AWS > EC2' 카테고리의 다른 글
[AWS] EC2 기본 세팅 (기록용) (0) | 2023.03.10 |
---|---|
[AWS] EC2 만들기 (기록용) (0) | 2023.03.10 |
pm2를 통해 터미널을 닫아도 서버 꺼지지 않게 하기 (0) | 2022.12.15 |
iptables를 통해 80 -> 3000 포트포워딩 (0) | 2022.12.15 |
Node.js, MongoDB 설치 with Ubuntu@ (0) | 2022.12.15 |