AWS에서 MySQ를 생성하여 사용하게도면 기본적으로 Timezone이 UTC로 설정되어 있기 때문에 현지의 시간과 맞지 않을 수 있다.

(Timezone 값은 RDS 파라미터 그룹에서 수정하는 것을 허락 하지 않는다.)

그렇기 때문에 다음과 같은 절차를 통해서 Timezon을 수정한다.


본인의 지역에 맞는 Timezone 값을 확인 하기 위하여 다음 커맨드를 사용하여 확인한다.

mysql> SELECT * FROM mysql.time_zone_name;



Timezone을 설정하는 프로시저를 하나 만든다. (보통 root 유저나, AWS RDS의 경우 지정된 시스템 유저로 생성한다.)

DROP PROCEDURE IF EXISTS store_time_zone;

CREATE PROCEDURE store_time_zone () SET SESSION time_zone = 'Australia/Victoria';



위에서 생성한 프로시저에 대해서 실행할 권한을 주고 실행한다.

GRANT EXECUTE ON PROCEDURE mysql.store_time_zone to 'rpc'@'%';

GRANT EXECUTE ON PROCEDURE mysql.store_time_zone to 'ussadmin'@'%';


CALL mysql.store_time_zone;



그리고 이것을 모든 세션에 적용하기 위해서, 새로운 파라미터 그룹을 정의하고

파라미터 그룹중에 "init_connect"에 해당 프로시저를 실행 하도록 설정한다.

name=init_connect, value='CALL mysql.store_time_zone'


Posted by Steven J.S Min
,