서버(OS는 Linux Debain 12) 에 해당 링크를 참고해서 mongodb 를 설치하고, admin 계정을 생성하기 위해 mongosh
명령어를 통해 몽고디비 쉘에 접속하려 했더니 다음과 같은 에러가 발생했다.
mazeinc_ai@ai-integration-test-server:~$ mongosh
Current Mongosh Log ID: 668e4c4de256b5a328a5bb8c
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.11
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
연결 요청이 거절당했는데, 해당 이유를 알아보기위해 일단 sudo systemctl statys mongod
를 통해 mongodb 서버의 상태를 출력했다.
× mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Wed 2024-07-10 08:59:17 UTC; 5s ago
Duration: 64ms
Docs: https://docs.mongodb.org/manual
Process: 16917 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)
Main PID: 16917 (code=exited, status=14)
CPU: 63ms
Active: failed 라고 되어있는 걸 보니 서버가 실행 시에 뭔가 문제가 생긴 것 같았다.
exit code를 참고해서 구글링을 했더니 권한 문제였다.. mongodb 관련 디렉토리에 권한이 없었고, 클라이언트와 서버가 소통하는데 쓰이는 소켓 파일에도 권한이 없어서, 이 둘에게 권한을 부여했더니 해결되었다.
이전에는 이런 문제가 발생하지 않았던 것 같은데 뭐지 😱
/var/lib/mongodb
디렉터리와 소켓파일(/tmp/mongodb-27017.sock
) 소유자와 그룹을 모두 mongodb 로 설정했다.
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
https://askubuntu.com/questions/823288/mongodb-loads-but-breaks-returning-status-14