[MariaDB/MySQL] JDBC Driver 'server time zone' 에러 해결방법

[MariaDB/MySQL] JDBC Driver 'server time zone' 에러 해결방법

Goal

  • The server time zone value ‘KST’ is unrecognized or represents more than one time zone. 에러 해결


발생 원인

  • MySQL JDBC Driver 5.1.X 버전 이후 버전부터 ‘KST’ 타임존을 인식불가로 인한 오류 발생.(기타 타임존도 발생)


문제 해결

해결방법 1. JDBC URL에 타임존 명시

  • jdbc:mysql://[HOST]:[PORT]/[DB]?serverTimezone=UTC

또는

1
2
3
4
5
6
7
String jdbcUrl = "jdbc:mysql://[HOST]:[PORT]/[DB]";
Properties connectionProps = new Properties();
connectionProps.put( "user", [USER]);
connectionProps.put( "password", [PASSWORD]);
connectionProps.put( "serverTimezone", [TIMEZONE]);
Driver driver = DriverManager.getDriver( jdbcUrl);
Connection conn = driver.connect( jdbcUrl, connectionProps);


해결방법 2. 서버 타임존 변경

  • 설정 파일 수정
# vi /etc/my.cnf

[edit]

edit_config

  • default_time_zone 옵션 추가

add_option

  • DB 서버 재가동
# systemctl restart mysqld

restart_server

댓글남기기

-->