본문 바로가기

Develop/Database

[Develop/Database] AWS RDS MySQL timezone 변경

[Develop/Database] AWS RDS MySQL timezone 변경

AWS RDS를 만들었을 때 기본 MySQL의 시간대는 UTC(국제 표준시)로 설정이 되어있다.

따라서 개인 프로젝트 진행하면서 DB 저장시간과 웹에서 등록하는 시간이 일치하지 않는 이슈가 발생하였다.

UTC와 현재 작업중인 우리나라의 시간과 맞지 않아 생기는 이슈다.

그럼 현재 MySQL에 설정시간을 확인해보고 AWS의 RDS 인스턴스의 timezone을 변경해보자.

현재 timezone 확인

해당 DB에 접속 후 아래 쿼리를 통해 timezone이 무엇으로 설정돼있는지 보자.

RDS 인스턴스의 초기 timezone은 UTC로 되있기 때문에 UTC로 결과물이 나올 것이다.

이제 timezone을 KST(한국 표준시)로 변경해보자.

SELECT @@GLOBAL.time_zone, @@SESSION.time_zone

인스턴스 timezone 변경

우선 현재 사용 중인 RDS 인스턴스 메뉴에서  파라미터 그룹을 선택하자.

선택하면 현재 인스턴스에 설정된 파라미터 그룹들이 보이는데 인스턴스 생성 후 별다른 설정을 

하지 않았으면 default.mysqlx,x로  설정되어있을 것이다.

파라미터 그룹메뉴

그럼 default.mysql 파라미터 그룹을 수정해보자. 

해당 파라미터 그룹을 선택하고 검색에 zone이라고 쳐보자. 그런데 수정하려 하니 아래와 같이 수정이 되지

않는 걸 볼 수 있다. default로 설정된 파라미터 그룹은 수정이 불가하다.

파라미터 그룹 수정

 

따라서 새로운 파라미터 그룹을 생성하고 수정해줘야 한다.

다시 파라미터 그룹 목록으로 되돌아가 파라미터 그룹 생성 버튼을 눌러 파라미터 그룹을 생성하자.

아래와 같이 RDS 버전에 맞게 선택하고 그룹 이름, 그룹 설명을 입력한다.

파라미터 그룹 생성

등록한 후 생성된 파라미터 그룹을 선택하고 time_zone을 검색하여 time_zone을 Asia/Seoul로 변경한다.

위와 같이 변경을 완료한 후 해당 RDS 인스턴스를 재시작하여주면 된다.