라벨이 zone인 게시물 표시

[MySQL] DB Time Zone 변경

이미지
간혹 MySQL DB 작업 완료 후 DB 시간이 UTC 로 표시되는 현상이 발생하는 경우가 있습니다.
이런 경우 KST 로 표시 되도록 변경하는 방법을 확인해 보도록 하겠습니다.

우선 DB 접속에 접속 합니다.

DB 의 Time Zone 설정이 되어 있는지 아래와 같이 확인 합니다.
Time Zone 설정이 되어 있지 않다면 아래와 같이 표시됩니다 .

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








Time Zone 설정을 위해 리눅스 환경으로 돌아와  아래와 같이 입력합니다.

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




다시 DB 로 접속 합니다.



DB Time Zone 정보를 확인해 보면 아래와 같이 표출 됩니다.
저같은 경우에는 Time Zone 정보가 SYSTEM 으로 표시되네요

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









이제 Time_Zone 정보를 Seoul 기준으로 변경해 줍니다.

mysql> SET GLOBAL time_zone='Asia/Seoul';
mysql> SET time_zone = 'Asia/Seoul';








정상적으로 변경이 완료 되었는지 다시 Time Zone 정보를 확인해 보겠습니다.

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


정상적으로 변경 된것을 확인 할 수 있습니다.







DB 내 시간정보를 확인해 보면 로컬 시간이 표시되는 것을 확인할 수 있습니다.

mysql> SELECT NOW();






아래와 같이 Time Zone 정보를 다시 한번 확인해 보면 정상 적용된 것을 확인 할 수 있습니다.

mysql> select @@time_zone;