[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]
- default_time_zone 옵션 추가
- DB 서버 재가동
# systemctl restart mysqld
댓글남기기