MySQL/MariaDB Timezone 설정 및 확인
· Version : MySQL 5.7, Docker
MySQL/MariaDB를 운영할때, 타임존에 대해서 알아본다. 아래 스크립트는 현재 데이터베이스의 타임존을 확인한다. 타임존이 SYSTEM 으로 표시되면 별도의 타임존 설정이 되어 있지 않다는 뜻이며 시스템의 타임존을 사용하겠다는 뜻이다.
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, @@system_time_zone; |
데이터베이스 설정에서 default-time-zone 변경 방법은 my.ini (my.cnf)에서 [mysqld] 영역에 타임존을 추가한다. 아래 스크립트는KST로 타임존을 설정하였으며 스크립트 적용 후MySQL 서비스 재시작이 필요하다.
[mysqld] default-time-zone='+9:00' |
다른 방법으로는 현재 서비스 상태에서 글로벌, 또는 세션 변수의 값을 명시적으로 설정할 수 있다. 이 방법은 서비스를 재시작 하지 않아도 된다.
SET GLOBAL time_zone='timezone; SET time_zone='timezone; |
어플리케이션에서 연결시에도 타임존을 지정할 수 있다. 이 경우 세션으로 작동한다. JDBC URL에 추가하는 방법은 아래 코드를 참고 한다.
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/ db?serverTimezone=UTC" /> <property name="username" value="admin"/> <property name="password" value="admin"/> </bean> |
Timezone의 값은 여러 가지 포맷으로 사용할 수 있으며 대소문자 구분이 없다.
· SYSTEM은 MySQL이 시스템의 타임존과 동일한 설정을 사용
· ‘+9:00’ 또는 ‘-6:00’과 같이 GTM/UTC 기준 Offset 사용
· US/Eastern, Asia/Seoul 과 같은 named timezone 사용
named timezone 형태의 값을 사용하려면 “mysql” 데이터베이스에 “time_zone”, “time_zone_name”, “time_zone_transition”, “time_zone_transition_type”, “time_zone_leap_second” 테이블을 참조하는데 실제 이 테이블은 빈테이블이기 때문에 사용자가 데이터를 입력해주어야 한다. 타임존 데이터는 아래 링크에서 정보를 다운로드 받아 스크립트를 실행한다. 스크립트를 살펴보면 각 타임존 정보를 확인할 수 있다.
· https://dev.mysql.com/downloads/timezones.html
[참고자료]
· https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html
2019-06-12 / 강성욱 / http://sungwookkang.com
MySQL, MySQL Timezone, 타임존, DB time, time_zone, time_zone_name, time_zone_transition, time_zone_transition_type, time_zone_leap_second, named timezone
'MySQL, MariaDB' 카테고리의 다른 글
MySQL/MariaDB ROW Size Limit (0) | 2019.07.20 |
---|---|
MySQL/MariaDB sql_mode 설정 변경으로 NULL 데이터 처리하기 (0) | 2019.07.06 |
MySQL/MariaDB InnoDB(Storage) row lock 모니터링 (0) | 2019.03.24 |
MySQL/MariaDB InnoDB(Storage) buffer pool 모니터링 (0) | 2019.03.24 |
MySQL/MariaDB Threads 모니터링 (0) | 2019.03.24 |