컴퓨터과학/SQL

AWS DB 인스턴스 MySQL 시간설정

waspy 2021. 8. 3. 15:29

1. 현재 db 시스템의 시간을 확인한다.

select now();

현재 시간과는 다른 시간이 나온다 (서울기준)

 

 

2. db의 timezone이 어디로 지정되어있는지 확인한다.

show variables like 'time_zone';

 

UTC로 설정되어있다. (그리니치 천문대가 있는 영국의 시간)

 

 

3. 시간을 바꾸려고 aws 사이트를 뒤져보았다

aws 공식답변
내 db의 엔진 버전

내 mysql 엔진은 8.0이므로 db 파라미터 그룹에서 시간을 변경하기로 한다.

 

 

4. 시간 변경에대한 aws의 의견은 아래와 같다

aws 공식답변

어플리케이션을 운용할 때에 UTC 시간을 사용하는것이 이후 수정의 필요가 없어지므로 제일 좋다고 한다.

대신 어플리케이션 계층에서 시간을 변환하여 사용하는것을 추천한다.

하지만 토이프로젝트를 진행하는 현재 편의성을 위해 본 게시글에서 시간을 한국시간으로 변경할것이다.

 

 

5. 변경방법

 

5-1 aws rdbms에 접속해서 파라미터 그룹에 접속

 

5-2 파라미터 그룹을 생성한다. 내 db mysql8.0 버전에 맞도록 생성한다.

5-3 timezone 파라미터의 값을 수정해준다.

+ timezone의 종류는 공식 사이트에서 확인할 수 있다.

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.LocalTimeZone

이후 변경사항을 저장해준다.

 

 

5-4 나의 db 인스턴스 수정에 들어가 파라미터 그룹을 변경해준다.

 

5-5 db 인스턴스를 재부팅해준다.

 

6. db에 접속하여 timezone 설정이 변경되었는지 확인한다.

show variables like 'time_zone';

select NOW(), CURDATE(), CURTIME();

 

 

 

반응형