개인적인 정리

MySQL jdbc 드라이버 변경 본문

전자정부표준프레임워크

MySQL jdbc 드라이버 변경

yeon.Biju 2021. 9. 6. 12:29

MySQL 을 5.x 버전에서 8.x 버전으로 변경하고 이클립스에 적용하는 과정을 간략하게 기술해본다.

 

MySQL 버전만을 변경한채로 이클립스에서 톰캣을 실행하니 다음과 같은 오류가 발생한다. 

Unable to load authentication plugin 'caching_sha2_password'.

MySQL 8.x 버전과 5.x 버전의 인증방식의 차이에 따라서 발생하는 오류인데 이것을 해결하기 위해서 MySQL jdbc 드라이버를 업데이트하기로 하였다.

 

*기존 인증방식을 사용하기를 원한다면 해당 데이타베이스 인증방식을 기존과 동일하게 (mysql_native_password 방식)으로 하거나, 사용자에 대해서 패스워드를 설정할 때 mysql_native_password  방식으로 설정하는 방법이 있을 수 있겠다. 이 방법은 부족하지만 아래글로 대신하자. 여기서는 드라이버를 업데이트할려고 한다.

https://web-obj.tistory.com/311

 

Unable to load authentication plugin 'caching_sha2_password'

 Unable to load authentication plugin 'caching_sha2_password' MySQL 8.x를 설치하고 토드 에지를 통해 접속할려고 했더니 에러가 발생하였다. 8.x 부터는 변경사항이 꽤 있는 것 같다. MySQL 8.x는 인증..

web-obj.tistory.com

 

jdbc 드라이버를 다운로드

1. Maven Repository 를 이용

   - 나는 이게 가장 쉬운 방법인 것 같다.

   - pom.xml 에 다음과 같이 추가한다.

1
2
3
4
5
6
7
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>
 
cs

 

2. MySQL 사이트를 이용한다.

 

다운로드 받는 방법은 아래 글을 참조한다.

https://web-obj.tistory.com/320

 

MySQL 드라이버 다운로드

MySQL driver 다운로드 하는 방법 1. pom.xml (메이븐을 이용) mysql-connector-java 부분에 와 같이 버전이 기입되어 있는데, 다운받고자 하는 버전으로 수정한다. 1) 버전은 설치되어 있는 버전의 MySQL로 하

web-obj.tistory.com

 

build 가 다시 이뤄지고 validating... 을 하는 몇분의 시간이 흐르고 나면

 

이클립스에서 톰캣을 다시 실행한다.

다음과 같은 에러가 발생하였다.

Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version

흠.. 뭔가 싶지만..

잠깐 추측으로만 적어보면

1. jdk 버전이 너무 낮지 않은가.

2. tomcat 버전이 너무 낮지 않은가

라는 의심은 좀 필요한 것 같다.

 

어쨎거나 지금 버전은 jdk1.8 , tomcat 9.0 이어서 jdk 와 tomcat 문제는 아닐 것 같았다.

 

그래서 혹시나 찾아보니 MySQL jdbc 드라이버 5.1.42가 lib 폴더에 있었다.

maven 으로 관리를 할거면 확실하게 해줘야 하는데. maven 으로 하면서 lib 폴더에 하드하게 라이브러리를 넣어놓으니 충돌이 생기는 것 같다.(이건 플젝 관리.... 탓을 하고자 한다. 내가 첨부터 했으면 이런 일은 없었을 것이다. ㅋㅋ. 시간이 지날수록 경력이 쌓일수록 된다고 넘어가지 말고 조금은 생각을 더 하고 조금 더 따져봐야 하지 않을까라는 생각을 해본다. )

 

그래서 MySQL jdbc 드라이버를 기존 것을 지우고 다시 톰캣을 실행하니 정상적으로 잘 된다.

 

 

 

'전자정부표준프레임워크' 카테고리의 다른 글

JSTL 날짜 계산  (0) 2021.11.30
JSTL 오늘 날짜  (0) 2021.11.27
log4j의 level  (0) 2021.09.08
전자정부표준프레임워크에서 SQL 로그 찍기  (0) 2021.09.08
java 에서 switch  (0) 2021.08.26
전자정부표준프레임워크 v3.10  (0) 2021.03.11
데이타를 json으로 출력하기 - 1  (0) 2021.02.17
엑셀파일에 대한 content-type  (0) 2021.02.04
Comments