본문 바로가기
공부/Trouble Shooting

인텔리제이에 aws 우분투에 있는 mariaDB연결 에러 , can't connect to server on 에러 - 방화벽 문제

by son_i 2023. 10. 9.
728x90

과정

 1. pom.xml에 db의존성 추가

<dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
            <scope>runtime</scope>
        </dependency>

 2. MariaDB에 데이터베이스(인스턴스)와 계정 설정

   - 우분투 원격접속 ssh ubuntu@우분투 탄력 IP주소

   - mariadb 접속 >mysql -u root -p 

   - db인스턴스와 계정 생성

           >create database minicampus;

           >create user ‘minicampus_user’@’%’ identified by ‘soni’;

           >flush privileges;

           >grant all privileges on minicampus.* to ‘minicampus_user’@’%’ identified by ‘soni’;

 3. application.yml에 db 접속 정보 설정

spring:
  datasource:
    url: jdbc:mariadb://우분투 탄력IP주소:3306/minicampus
    driver-class-name: org.mariadb.jdbc.Driver
    username: minicampus_user
    password: soni

 

url 원래 형태 - jdbc:DB_VENDER://IP_ADDR:IP_PORT/INSTANCE

다 잘 맞게 넣어준 것 같은데

java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=
우분투 탄력 IP주소)(port=3306)(type=master) : Socket fail to connect to host:43.202.130.248, port:3306. Connection timed out: connect

이런 오류가 난다. 흠

 

하도 안 돼서 혹시나 하고 윈도우 cmd에서 mysql 클라이언트로 우분투의 mariaDB에 접속해보았다.

 

하.. ptsd... 전에 지겹게 발생하던 오류 났다. 대체 왜지 ?! EC2 보안그룹 규칙도 바꿔준 것이 없고 다 그대론데 !

 

윈도우에서 우분투 MariaDB 접속 시 Can't connect to server 오류 (tistory.com)

 

윈도우에서 우분투 MariaDB 접속 시 Can't connect to server 오류

일단 강사님 따라서 /etc/mysql/my.cnf 파일에 아래 bind-address 부분 추가해줌 그래도 똑같이 오류가 났다. ERROR 2002 (HY000): Can't connect to server on 우분투ip주소 어떤 사람이 my.cnf 가 include하는 모든 파일

soni-developer.tistory.com

이전에 작성한 여기있는 모든 것이 다 설정 되어있음.

 

다시 구글링을 하다가 저 포스팅 할 때도 사람들이 많이 언급하던 방화벽문제를 확인해보기로 했다.

전혀 기대는 안 했었다. 이전에도 아무 것도 건드리지 않았는데 이상이 없었으므로..

 

우분투에서 방화벽확인

1. 루트계정으로 접속
2. ufw status는 방화벽 상태 확인
3. ufw allow 3306으로 방화벽 추가

그리고 다시 실행해보니 ...

됐다 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

윈도우 cmd에서 클라이언트로 접속하는 것도, 인텔리제이에서 마리아 DB연결도 ㅠㅠㅠㅠ 다 됐다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 대체 왜 건드리지도 않았던 방화벽 문제인지는 모르겠지만 ㅠㅠㅠㅠㅠ 해결해서 기쁠 뿐 ...

 


다시 한 번 정리 !

➡️발생한 오류

1. 인텔리제이에서 포스팅 상단에 mariaDB관련 모든 설정을 해주었음에도 아래와 같은 오류

java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=localhost)(port=3306)

 

2. 윈도우 cmd 창에서 mariadb가 있는 bin 파일에서

>mysql -h 우분투탄력IP주소 -u root -p 했을 때 아래와 같은 오류

error 2002 (hy000): can't connect to server on 우분투IP주소 (10060) 

 

➡️해결방법

1. mysql에 데이터베이스(인스턴스)와 인스턴스에 대한 사용자 권한 잘 지정해줬는지 확인

  사용자 계정 생성시 localhost로만 하면 외부에서 접속할 수 없음.

2. 서버에 모든 IP에 대해서 접속할 수 있도록 bind-address 설정

3. EC2 보안그룹 규칙에서 인바운드 규칙설정

4. 방화벽에 3306 포트 설정 ...! 

 

1~3 오류는 아래 포스팅에 정리해놓음

  윈도우에서 우분투 MariaDB 접속 시 Can't connect to server 오류 (tistory.com)

 

윈도우에서 우분투 MariaDB 접속 시 Can't connect to server 오류

일단 강사님 따라서 /etc/mysql/my.cnf 파일에 아래 bind-address 부분 추가해줌 그래도 똑같이 오류가 났다. ERROR 2002 (HY000): Can't connect to server on 우분투ip주소 어떤 사람이 my.cnf 가 include하는 모든 파일

soni-developer.tistory.com

나같은 경우는 이미 1~3은 저번에 다 해놨기 때문에 갑자기 이상이 생긴 원인이 너무 혼란스러웠다.

휴우,,.. 되다가도 안 되는 개발의 세계

그래도 해결해서 너무 기쁘다 ^ ___ ^