기타

[오류] 배포 중 로DB 접근 관련 오류

나는시화 2024. 9. 11. 23:07

1. 오류 내용

배포 관련 공부를 진행하던 중 오류가 발생함. 

java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:address=(host=172.30.1.32)(port=3307)(type=primary). Connect timed out

 

DB에 연결에 실패했다는 로그가 찍힌 것을 보고 문제 해결에 나섬. 

현재 DB 서버는 어떻게 해야할 지 고민이라, 현재 사용하고 있는 컴퓨터에 DB를 설치 후 개방해서 임시로 사용하기로 정함.

 

2. 해결 과정

1) 방화벽 포트를 개방해줌. 

 

여기서 이바운드 규칙이란?
  • 외부에서 내 컴퓨터로 접근할 수 있는 규칙을 의미함.

2) 포트포워딩

  • 주소창에 172.30.1.254를 입력 후 포트 포워딩 설정을 해주었음. (kt 기준)

 

3) DB 계정을 외부에서 접근이 가능하도록 권한 설정

  • 계정 생성
    • userid : 생성할 ID를 의미
    • % : 허용 위치를 적어주면 됨. %는 모든 접근을 허용하겠다는 의미
    • 'password' : 비밀번호 설정
CREATE USER 'userid'@'%' IDENTIFIED BY 'password';
  • 확인
USE mysql;
CREATE USER 'userid'@'%' IDENTIFIED BY 'password';

3. 결과


맨날 코드만 작성했 지 이런 환경 셋팅같은 건 처음 해봐서 많이 헤맸었다. 

그대로 혼자 하나 씩 문제를 해결해 나가는 과정이 재밌기도 했으며, 성취감이 있었다. 

공부한 내용들을 까먹지 않기 위해서 정리를 해야하는데 생각보다 쉽지가 않다.. 

 

앞으로의 계획:

1. 이번에 했던 DB 관련된 내용 정리하기.

2. 로그 모니터링 기능 개발 

3. 프론트 배포 방법 공부 및 정리 

4. 자료구조, 알고리즘 공부 및 정리 

 

할 수 있다!!! 화이팅~~~~~~~~~