mysql 연결 오류 (타임존) - use a more specifc time zone value if you want to utilize time zone support
mysql과 연결할때 time zone과 관련된 오류 발생하는경우.
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
mysql time zone 확인
mysql> SELECT @@global.time_zone, @@session.time_zone;
Asia/Seoul로 안되어 있다면 변경
mysql> SET GLOBAL time_zone='Asia/Seoul';
mysql> SET time_zone = 'Asia/Seoul';
하지만 위 방법은 일회성이므로 mysql이 재실행 되면 설정이 유지되지 않음
centos7 기준 /etc/my.cnf 또는 my.cnf에 default-time-zone을 추가
default-time-zone='Asia/Seoul'
mysql 재실행
> systemctl restart mysqld
< 이때 변경이 안되고 오류 발생시 >
time_zone 테이블 확인
mysql> SELECT b.name, a.time_zone_id
FROM mysql.time_zone AS a
LEFT OUTER JOIN mysql.time_zone_name AS b
ON a.time_zone_id = b.time_zone_id;
time_zone이 없다면 shell에서 time_zone등록
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
다시
mysql> SET GLOBAL time_zone='Asia/Seoul';
mysql> SET time_zone = 'Asia/Seoul';
#MySQL 접속후에 시간대 확인하기
mysql> SELECT @@global.time_zone, @@session.time_zone;
#현재 시간 확인해보기
mysql> SELECT NOW();