티스토리 뷰

Server

Timezone 설정 하기

니용 2021. 5. 3. 20:57
반응형

기본적으로 DB를 생성하거나 스키마를 설치한 후에는 UTC의 설정이 기본값으로 적용이 되어 있기에 한국에서 타임존을 설정하려면 아래의 쿼리를 입력해서 적용시켜야 합니다.

## 해당 DB 의 글로벌 타임존 값을 변경합니다.
set global time_zone = 'Asia/Seoul';

## 해당 스키마의 타임존 값을 변경합니다.
set time_zone = 'Asia/Seoul';

여기서 DB의 타임존을 변경하고 스키마를 만들게 되면, 그 스키마 또한 위의 타임존의 설정값으로 변경이 되므로 주의해야합니다!! 스키마별로 변경을 시도하시려면 해당 스키마에 접속되어 있는 콘솔 창에서 입력을 해주면 됩니다.

예를 들어 DB1 이라는 데이터베이스에 SC1 이라는 스키마를 생성하였다고 가정합니다.  설정이 잘 되어있는지 확인하려면 아래의 쿼리를 입력하시면 됩니다.

 

SELECT @@global.time_zone, @@session.time_zone;

------
@@global.time_zone | @@session.time_zone
SYSTEM | SYSTEM

이 때 set time_zone = 'Asia/Seoul'; 을 SC1의 콘솔 창에서 입력하면 조회 시 아래와 같이 변경됩니다.

## SC1 기준
SELECT @@global.time_zone, @@session.time_zone;

------
@@global.time_zone | @@session.time_zone
SYSTEM | Asia/Seoul

여기서 새로운 스키마 SC2 를 만들고 다시 콘솔에서 위 쿼리를 조회해보면 디폴트 값으로 되어 있는 것을 확인할 수 있습니다. 

CREATE SCHEMA `SC2`;

## SC2 기준
SELECT @@global.time_zone, @@session.time_zone;

------
@@global.time_zone | @@session.time_zone
SYSTEM | SYSTEM

이를 방지하기 위해 set global time_zone = 'Asia/Seoul'; 을 입력하면 아래와 같이 됩니다. SC2 스키마에는 적용을 하지 않았기 때문입니다. 

## SC2 기준
SELECT @@global.time_zone, @@session.time_zone;

------
@@global.time_zone | @@session.time_zone
Asia/Seoul | SYSTEM

다시 스키마 SC3 을 만들면 기본 값이 Asia/Seoul 로 설정되어 있습니다.

CREATE SCHEMA `SC3`;

## SC3 기준
SELECT @@global.time_zone, @@session.time_zone;

------
@@global.time_zone | @@session.time_zone
Asia/Seoul | Asia/Seoul

 

반응형
댓글
공지사항