본문 바로가기
JAVA & Spring/Error

[Spring] com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException 에러

by 알기 쉬운 코딩 사전 2023. 8. 9.
반응형

🚨 Spring 실행시 발생한 에러 메시지

java.sql.SQLException
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException

javax.net.ssl.SSLHandshakeException
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol

 

 에러 발생 이유

현재 Spring과 MySQL의 호환성 문제로 나타나는 에러 메시지입니다.

예를들어 현재 Spring 3.X 버전을 사용하고 있는데 MySQL 5.6 버전 이하를 사용했을 때 나타나는 에러 메시지입니다.
Spring 3.X 버전은 MySQL 5.6 이하의 버전을 지원하지 않습니다.
참고: Spring 3.X 버전은 Jakarta EE 9로 전환되었기 때문에 MySQL 5.6 이하의 버전을 지원하지 않습니다.

 

✅  해결 방법

Spring 3.X 버전을 사용하고 있으면, MySQL의 버전을 5.7 이상의 버전을 사용합니다.

아래 수정 된 소스 코드를 참고해 주세요.

 
수정 전 pom.xml

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.45</version>
</dependency>

 
수정 후 pom.xml

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.30</version>
</dependency>
참고: gradle의 경우에도 MySQL의 버전을 5.7 이상의 버전으로 변경해줍니다.
현재는 MySQL 5.1 버전에서 8.0 버전으로 변경한 상태입니다.

 

🌟 정상 응답 결과

 

반응형

댓글