-
트러블 슈팅 / MYSQL JDBC 드라이버 설정 연결 오류개발자 라이프 2018. 11. 6. 14:42반응형
오래간만에 교수님 수업을 도와드리고자 조교로 데이터베이스 수업에 참석했다.
수업은 JAVA와 MySQL을 연동하여 DB를 조작하는 내용이었다.
MySQL도 설치되어 있었고, jar 파일이나 소스코드도 모두 e캠퍼스에 올라가 있는 상태여서 크게 문제는 없을 것 같았다.
하지만 갑자기 소스코드 컴파일 중 다수의 학생들이 공통된 에러로 손을 들었다.
에러메세지는 MySQL Server와 Connection을 맺을 수 없다는 내용이었다.
당연히 이전 수업에서도 잘 되던 것이 었는데 갑자기 안되니 교수님도 나도 멘붕이었다.
그런데!
특이한 점으로는 되는 사람도 있고, 안되는 사람도 있다는 것이었다.
혹여나 하는 생각에 MySQL 버전을 확인해보니,
되는 사람은 5.7 ver 이었고, 안되는 사람은 8.0 ver 이었다.
첫번째 생각으로는 8.0 ver 패치로 인해서 계정 접속에 대한 특별한 조치가 필요한가? 였다.
그래서 8.0 의 CLI로 들어가 mysql.user의 host와 user의 찍어봤는데, localhost에 대한 계정 정보가 존재했다.
계정 설정 문제는 아니라는 뜻이다.
그러다가 JDBC 버전에 대한 문제인가 싶었다.
stackoverflow와 MySQL 공식 사이트를 보니 JDBC 버전 문제가 맞았다.
(출처 : https://dev.mysql.com/downloads/connector/j/5.1.html )
교수님께서 사용하셨던 JDBC는 5.1.2x 버전이었다.
해당 버전의 JDBC가 MySQL 8.x 버전과 호환이 안되서 커넥션이 생성되지 않았던 것이다.
특이한 점은 JDBC를 8.x 버전이 아닌 5.1.4x 버전으로 참조했더니 에러가 해결됐다.
앞으로 JDBC 설정에 있어 사용하는 MySQL 버전도 잘 확인해서 맞춰야겠다.
반응형