기존에 mysql5 버전에서 8로 업그레이드를 했다.
업그레이드 이후 기존 프로젝트를 실행시켰더니 오류가 난다.
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
이런 오류가 났다. 멀쩡히 잘 되던 프로젝트가 갑자기 안되니까 조금 당황
현재는 지난번에 추가했던 log4sql 을 넣어서
driverClassName 이 com.mysql.jdbc.Driver -> core.log.jdbc.driver.MysqlDriver 로 교체되어있는 중이였다.
아무래도 log4sql이 조금 오래된 라이브러리라 그런가, mysql 8 버전에서는 log4sql을 지원하지 않는것 같다.
다시 com.mysql.jdbc.Driver로 변경했으나 여전히 같은 오류가 났다.
검색해보니 드라이버클래스 네임을 변경하라는걸 보았다.
mysql 8 버전 이후에서는 com.mysql.cj.jdbc.Driver로 가운데 cj가 들어가야한다고 한다.
그래서 교체 해보았다.
com.mysql.jdbc.Driver -> com.mysql.cj.jdbc.Driver
교체했더니 조금 다른 오류가 났다.
뭐냐면 해당 위에 변경한 클래스를 찾을수가 없단다.
라이브러리가 변경된 모양이다.
그럼 라이브러리를 변경하려고 한다.
현재 내 프로젝트에서 사용중인 mysql 라이브러리는
mysql-connector-java-5.x.x.jar
라는 라이브러리였고 해당 커넥터를 버전 8버전으로 변경할 예정이다.
mysql-connector library 를 찾아 넣어야한다.
1. mysql-connector.jar 파일 다운받으러 가기파일 버전은 원하는거 찾아서 다운로드하면된다.https://dev.mysql.com/downloads/connector/j/
중간에 있는 Select Operating System: 에서
Platform Independent 로 수정 한 후 zip 파일 다운로드 로그인하라고 뜨는데 굳이 로그인안해도 된다.
아래 No thanks, just start my download. 클릭시 바로 다운로드된다.
다운받은 파일 열어보면 mysql-connector-java-8.0.29.jar 파일이 있다.
해당 파일로 library변경하자 잘 되었다.
해당 라이브러리를 새로 다운로드하지않고 로컬환경에 설치된 mysql 경로에서 찾을 수 있다.
이 라이브러리는 설치된 아래 위치에서 찾을 수 있다.
[C:\Program Files (x86)\MySQL\Connector J 8.0]
설치된 위치에 가면 mysql-connector-java-8.0.29.jar 가 있다.
'Database > Mysql' 카테고리의 다른 글
윈도우(Windows)서버에 MYSQL 다른 버전 여러 개 설치하기 (2) | 2023.01.11 |
---|---|
[mysql] mysql 접속 , 사용자 조회 방법 (0) | 2022.03.03 |
[MySQL] 계층형 재귀 쿼리 (0) | 2022.02.14 |
[Mysql] 테이블에 데이터 특수기호 입력시 오류 발생 (0) | 2022.01.20 |
[JDBC] mysql 연결할때 다른 인코딩으로 보내기 (0) | 2022.01.15 |