How to change mysql time_zone

MySQL Timezone 설정방법입니다.

 

What’s Timezone ?!

시간대(時間帶)는 영국의 그리니치 천문대를 기준으로 (경도 0도) 지역에 따른 시간의 차이, 다시 말해 지구의 자전에 따른 지역 사이에 생기는 낮과 밤의 차이를 인위적으로 조정하기 위해 고안된 시간의 구분선을 일컫는다. 시간대는 협정 세계시(UTC)를 기준으로한 상대적인 차이로 나타낸다.

 

How-to

1.  Timezone 확인

$ date +%Z

KST

$ date +%z

+0900

$ cat /etc/sysconfig/clock

ZONE=”Asia/Seoul”

 

2. Timezone 설정

$ ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

or

$ ln -sf /usr/share/zoneinfo/UTC  /etc/localtime

$ vi /etc/sysconfig/clock

ZONE=”Asia/Seoul”

UTC=true

ARC=false

or

$ tzselect

or

export TZ=”Asia/Seoul”

 

3. MySQL Timezone Table 설정

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -D mysql -u root -p

$ mysql -u root -p

mysql> select count(*) from mysql.time_zone;

+———-+
| count(*) |
+———-+
| 1738     |
+———-+
1 row in set (0.00 sec)

 

4. MySQL Timezone 확인

$ mysql -u root -p

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

+—————————+—————————+
| @@global.time_zone | @@session.time_zone |
+—————————+—————————+
| SYSTEM                  | SYSTEM                    |
+—————————+—————————+
1 row in set (0.00 sec)

 

mysql> show variables like ‘%time_zone%’;
+———————–+———–+
| Variable_name         | Value     |
+———————–+———–+
| system_time_zone | KST       |
| time_zone            | SYSTEM |
+———————–+———–+
2 rows in set (0.00 sec)

 

5. MySQL Timezone 설정

$ mysql -u root -p

mysql> set @@global.time_zone=’Asia/Seoul’;

mysql> set global time_zone =’Asia/Seoul’;

mysql> set @@session.time_zone = “+00:00”;

mysql> set session time_zone =’Asia/Seoul’;

mysql> set time_zone = ‘Europe/Helsinki’;

mysql> set time_zone = “+00:00”;

mysql> select now();

 

set_time_zone

 

MySQL Timezone Support

 

MySQL Server Variables

 

Ref :