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();
'[ 서버 & DB 관련 ] > MySQL' 카테고리의 다른 글
프로시저 및 동적쿼리 (0) | 2019.09.04 |
---|---|
테이블 존재 여부 확인 (0) | 2019.09.04 |
다양한 조건에 따른 집계의 예제 (0) | 2019.07.18 |
MySQL - 일별통계, 주간통계, 월간통계 [펌] (0) | 2019.06.05 |
ORDER BY 특정 값에 우선순위 주기 (0) | 2019.06.05 |