본문 바로가기
DEVELOPER HARRY/ETC.

ERROR#2 MySQL Unknown system variable 'query_cache_size'

by 갈색토마토 2020. 12. 17.

안녕하세요. Harry입니다.

 

인텔리제이 사용 중 MySQL JDBC 연결 테스트 중 'Unknown system variable 'query_cache_size''의 에러가 발생하였는데요.

 

발생 경위

 

1)pom.xml에 mysql  의존성 주입

1
2
3
4
5
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.2</version>
</dependency>
cs

 2)JUnit5 테스트 클래스에서 코드 작성

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.myobject.defaults.sample;
 
import lombok.extern.java.Log;
import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
import static org.junit.jupiter.api.Assertions.*;
 
@Log4j
public class JDBCTest {
 
    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            log.error(e.getMessage());
        }
    }
 
    @Test
    public void test() {
        try (Connection conn = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/defaults?useSSL=false&ServerTimezone=UTC",
                "userid",
                "userpassword")) {
            log.info(conn);
 
        } catch (SQLException e) {
            fail(e.getMessage());
        }
    }
 
}
cs

 

발생 원인

해당 에러의 발생 원인은 바로..

설치된 MySQL 버전과 pom.xml에 주입된 mysql-connector-java의 버전이 맞지 않았기 때문입니다.

 

로컬의 mysql 설치 버전은 아래와 같지만, 쌩뚱맞게 의존성을 버전 6으로 기입한 것이었지요...

 

 

 

 

 

저와 같은 실수를 하지마시고, 혹여나 하더라도 참고해서 깔끔하게 해결해주세요~~ !

 

 


이상으로 에러에 대한 공유를 마치며, 감사합니다.

Harry 올림

 

 

P.S 광고가 뜬다면, 한 번씩 클릭 부탁드립니다.

(광고 클릭은 포스팅을 이어가는데 큰 힘이됩니다.)

댓글