DB
로컬 개발 DB가 파일을 열 수 없을 때 권한 확인 순서
로컬 개발 환경에서 데이터베이스 파일 접근 문제가 생겼을 때 원인을 빠르게 찾는 방법을 정리했습니다.
로컬 개발할 때 DB 서버가 갑자기 파일을 못 열어서 연결이 끊기는 경우가 있다. 권한 문제인지 디스크 공간 문제인지 다른 프로세스가 잠그고 있는 건지 확인해야 한다.
현재 포트에서 뭐가 실행 중인지 보기
먼저 DB 서버가 정말 실행 중인지, 어느 프로세스가 포트를 쓰고 있는지 확인한다.
sudo ss -lntp
DB 서버의 포트가 LISTEN 상태인지 확인하고, 프로세스 ID를 메모한다.
디스크 공간 확인
DB 파일을 못 열 때 첫 번째로 의심할 점은 디스크 공간이다. 디스크가 가득 차면 DB는 동작을 멈춘다.
df -h
사용 중인 디렉토리가 90% 이상 차있으면 파일을 정리해야 한다.
DB 서버 로그 확인
실제 에러 메시지가 뭔지 확인해야 정확한 원인을 알 수 있다.
sudo journalctl -n 80
# 또는 직접 로그 파일 확인
sudo tail -f /var/log/db-service.log
Permission denied 에러가 나면 파일 권한 문제고, disk full 에러가 나면 공간 문제다.
파일 권한 확인
DB 프로세스가 실행 중인 사용자와 DB 파일의 소유권을 비교한다.
ls -l /path/to/db-file
소유자가 다르면 권한을 수정해야 한다.
환경 변수와 DB 경로 확인
DB 경로가 환경 변수로 설정되어 있다면, 그 경로가 실제로 존재하고 접근 가능한지 확인한다.
한 번에 한 가지씩만 수정하기
여러 설정을 동시에 바꾸면 뭐가 문제를 해결했는지 알 수 없다. 권한 수정 후 한번 확인하고, 그 다음에 다른 것을 시도하는 게 좋다.
원인을 정확히 파악하고 기록해두면 같은 문제가 반복될 때 빠르게 대응할 수 있다.