본문 바로가기
데이터베이스

[MySQL] time zone 변경

by 나는 유찌 2020. 2. 23.

 

 

뭐 간단하게 게시판을 만들었다고 쳐보자.

게시글을 입력하면 데이터 베이스에 게시글 번호, 제목, 내용 등등 여러 가지 정보를 넣어주게 된다.

그때! 필수로 들어가는 컬럼 중 하나가 바로 입력 시간이 된다.

이상하게도 나는 오전 9시에 입력을 했는데 자꾸 출력되는 시간은 새벽 12시다. 

오잉? 왜지왜지? 라는 생각을 하게 된다.

 

바로 나다. (ㅎㅎㅎ) 

회사에서 프로젝트를 진행하던 도중 아침 9시 출근하자마자 간단하게 테스트를 해보았더니 시간이 글쎄 자꾸 새벽 12시로 출력이 되었다.

사용했던 DB는 MySQL이였다.

 

time zone의 문제였는데 이를 해결하는 방법을 포스팅하겠다.

(집 노트북에 설치된 MySQL로 해보았더니 시간이 제대로 출력되더라 ;_;)

 

 

 


 

 

 

1. MySQL Workbench

select now(); 

현재 시간을 출력해주는 명령어다.

명령어 실행 시 나는 한국에 위치해있는데 한국시간보다 9시간 느리게 나온다?

바로 UTC로 설정이 되어있기 때문이다.

 

 

select @@global.time_zone, @@session.time_zone;

select 쿼리를 이용해 설정되어 있는 time zone을 확인해보자.

SYSTEM으로 되어있는 걸 확인할 수 있다.

(집 노트북인데 이건 제시간으로 출력이 된다.)

 

 

set global time_zone = 'Asia/Seoul';
set time_zone = 'Asia/Seoul';

 

그렇다면 이 두 가지 명령어를 입력하여 시간대를 변경할 수가 있다.

 

그다음 select now(); 명령어를 다시 입력했을 때

포스팅 중인 지금 날짜와 시간이 제대로 출력되는 것을 확인할 수 있다.