[Maria DB] 스프링 원격 DB 접속 오류 / Cannot create PoolableConnectionFactory (Could not connect to address)

2021. 5. 2. 04:21·IT/DataBase
반응형

문제 발생

오랫만에 서버 이전을 하고 DB 타겟을 바꾸고 서비스를 실행하는데 DB 연결이 안되는 문제가 나타났다.

Cannot create PoolableConnectionFactory (Could not connect to address= 
(host=xxx.xxx.xxx.xxx)(port=3306)(type=master) : Connection refused: connect)

당시 로그는 위처럼 찍혔다. Could not get JDBC Connection 어쩌구..DB 커넥션을 맺은 JDBC 객체를 정상적으로 리턴받지 못한 모양이다. 왜지!? 전이랑 똑같이 했는데 왜 안돼!

telnet 목적지IP 포트

회사에서 IF 서비스들을 많이 다뤄서 그런지 내 기계적으로 내 PC에서 텔넷부터 찍어봤다. 오잉..? DB 포트 안열려 있네? 방화벽 문제일까? 서비스가 안올라갔나? 생각했지만, 둘다 잘 올라갔을텐데?.. 생각했다.

먼저 라이트세일 서버 방화벽부터 확인하니 3306 포트가 잘 있다. 혹시 마리아 DB 서비스가 실행중이 아닌건가?

라고 생각했지만..서비스도 정상적으로 Run 되어있었다..

netstat -ntlp | grep 3306

그럼...혹시 마리아 DB 디폴트 포트가 3306이 아니었나? 생각이 들어 찍어봤다. 하지만 역시 3306... 하지만..! 오우 shit 이상한 점을 발견했다.

​

3306 포트는 열려있는데 source IP가 127.0.0.1로 서버 로컬에서만 접속할 수 있도록 되어있다. 즉..! 이 마리아 DB 서버는 서버에서 직접 접근만 가능하고 외부에서 접속되지 않도록 되어있는 것이었다.

해결 방법 : bind-address 변경

vi /etc/mysql/mariadb.conf.d/50-server.cnf

위 명령어를 입력해 50-server.cnf 파일을 열어주자

내리다보면 bind-address = 127.0.0.1 이라고 되어있는 부분이 있다. 이부분을 바꿔줄 것이다. bind-address는 이 DB에 접속할 수 있는 IP를 의미한다. 지금은 127.0.0.1 즉 localhost IP가 입력되어있으니, 이 서버 자체에서만 접속가능하다.

​

원격지에서 접속할 수 있도록 전체 대역을 의미하는 0.0.0.0 으로 바꿀 것이다. 뭐!? 전체 공개라고!? 안돼!! 할 수도 있지만, 그건 서버 인스턴스 방화벽 설정에서 막으면 되니 신경쓰지 않아도 된다.

bind-address = 0.0.0.0

자 기존 소스는 #을 붙혀 주석처리해주고 아래에 소스를 추가하자. 혹시 vi 편집기를 사용하지 못하는 분은 구글검색을 추천한다. 위 화면에서 i를 누르면 문자 삽입상태가 된다. 그상태에서 #을 붙힌후 방향키로 아래칸으로가 0.0.0.0 소스를 추가하면 된다.

다 썻으면 ESC를 한번 누르고 그 상태에서 Shift+: 버튼을 눌러주고 wq(write+quit) 입력 후 엔터를 입력하자, 저장하고 끄겠다는거다.

service mysql restart

자 이제 위 명령어를 입력해 DB를 재부팅해주자!

netstat -ntlp | grep 3306

다시 위 명령어를 이용해서 확인해보면 0.0.0.0 전체 IP대역에서 3306 포트 접속이 가능하게끔 변경된 것을 볼 수 있다.

짜잔 다시 telnet을 찍어보니 정상적으로 접속 가능한 것이 확인되었다. 내 PC에서 DB까지 구간은 이제 정상화되었으니 다시 스프링 서비스를 Run 해보면 정상적으로 DB 커넥션 되는 것을 확인할 수 있다.

 

#마리아DB #MYSQL #스프링 #원격 #DB #접속 #연결 #오류 #JDBC #PoolableConnectionFactory #bindaddress

반응형
저작자표시 비영리 변경금지 (새창열림)

'IT > DataBase' 카테고리의 다른 글

MariaDB SQL 오류(1021) Disk full 해결 방법 / tmp 폴더 “No space left on device” / 라이트세일  (0) 2022.08.06
[Maria DB/MySQL] 마리아DB 타임존 변경 system_time_zone  (0) 2021.06.12
[Maria DB] AWS EC2 원격 서버 마리아 DB 접속 / HeidiSQL / 데이터 삽입 / 테이블 생성  (0) 2020.06.03
[Maria DB] 마리아 / 데이터베이스(스키마) / 테이블 생성 / 데이터 삽입 INSERT / START TRANSACTION / 데이터 조회 SELECT  (0) 2020.05.26
[Maria DB] 마리아 DB 접속 / HeidiSQL 세션 연결  (0) 2020.05.24
'IT/DataBase' 카테고리의 다른 글
  • MariaDB SQL 오류(1021) Disk full 해결 방법 / tmp 폴더 “No space left on device” / 라이트세일
  • [Maria DB/MySQL] 마리아DB 타임존 변경 system_time_zone
  • [Maria DB] AWS EC2 원격 서버 마리아 DB 접속 / HeidiSQL / 데이터 삽입 / 테이블 생성
  • [Maria DB] 마리아 / 데이터베이스(스키마) / 테이블 생성 / 데이터 삽입 INSERT / START TRANSACTION / 데이터 조회 SELECT
외장_하드
외장_하드
자동차 / 여행 / 취업 / 일상 / IT / 코딩
  • 외장_하드
    외장하드
    외장_하드
  • 전체
    오늘
    어제
    • 분류 전체보기 (436)
      • 국내 여행 (197)
        • 수도권 (20)
        • 충청도 (17)
        • 강원도 (32)
        • 전라도 (21)
        • 경상도 (50)
        • 제주도 (57)
        • 나들이 (0)
      • 일상 (47)
        • 휴식 (15)
        • 취업 준비 (19)
        • 월간일상 (3)
        • 군생활 (3)
        • 결혼 준비 (5)
        • 경제 투자 (2)
      • 국외 여행 (50)
        • 일주 준비 (4)
        • 중국 (11)
        • 대만 (5)
        • 태국 (20)
        • 일본 (10)
      • 취미 (19)
        • 제품 후기 (11)
        • 지식 (8)
      • 자동차 (21)
        • 뉴 그랜저 XG (15)
        • 올 뉴 K3 (5)
      • IT (102)
        • Spring (18)
        • DataBase (11)
        • AWS (22)
        • GIT | github (9)
        • 기타 (23)
        • 머신러닝 | 딥러닝 (8)
        • Tech | Eng (3)
        • Python (2)
        • nodejs (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    추천
    EC2
    주차장
    코스
    혼자여행
    푸켓
    설치
    스쿠터
    aws
    방법
    부산
    스프링
    카페
    제주도
    가성비
    뚜벅이
    후기
    강원도
    여행
    전라도
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
외장_하드
[Maria DB] 스프링 원격 DB 접속 오류 / Cannot create PoolableConnectionFactory (Could not connect to address)
상단으로

티스토리툴바