ubuntu에서 mysql timezone 설정 Asia/Seoul 로~~~~~~

구글 클라우드 플랫폼을 이용해서 ubuntu 16.04 lts에 mysql 을 설치해서 사용하는데
시간이 자꾸 한국시간보다 -9시간 되서 뜨는 문제가 발생했다.

구글링을 해보니 timezone을 바꾸라는데...
set time_zone='Asia/Souel';
뭐 이렇게 해주라는데,,,
ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Souel'
이런 에러가 날아온다.

뭐지?? 하고 구글링을 더했다.
아래와 같이 여기서 https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1654 해주라고 하는데,, 이방법도 안통한다..

2. time_zone 변경시 확인사항
타임존설정 변경이 가능한 경우
mysql> use mysql
Database changed
mysql> select * from time_zone_name where name='KST';
+------+--------------+
| Name | Time_zone_id |
+------+--------------+
| KST | 1652 |
+------+--------------+
1 row in set (0.00 sec)

타임존설정 변경이 불가능한 경우
mysql> use mysql
Database changed
mysql> select * from time_zone_name where name='KST';
Empty set (0.00 sec)
타임존설정 변경이 불가능한 경우라도 time_zone 데이타베이스 구축하면 타임존설정 변경이 가능해진다.

3. time_zone 데이타베이스 구축

호스트 머신의 time_zone 데이타를 mysql에서 사용가능한 데이타로 컨버팅하기 위해서는 mysql_tzinfo_to_sql을 이용한다.

호스트 머신의 time_zone 데이타를 mysql에서 사용가능한형태로 변경
/usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo > /root/mysql_time_zone.sql
싱글 time_zone 데이타를 mysql에서 사용가능한형태로 변경
/usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Seoul KST > /root/mysql_time_zone_seoul.sql
leaf 세컨드 time_zone데이터를 mysql에서 사용가능한형태로 변경(솔직히 뭐하는넘인지 몰것다.)
/usr/local/mysql/bin/mysql_tzinfo_to_sql --leaf /usr/share/zoneinfo/Asia/Seoul > /root/mysql_time_zone_seoul.sql

time_zone 데이타를 mysql에서 사용하도록 임포트 한다 .
mysql -u root -p mysql < /root/mysql_time_zone.sql
싱글 time_zone 데이타를 mysql에서 사용하도록 임포트 한다 .
mysql -u root -p mysql < /root/mysql_time_zone_seoul.sql



다시 구글링~
그래서 아래와 같이 해주래서 했는데 또이럼,,
mysql_tzinfo_to_sql /usr/share/zoneinfo/|mysql -u root mysql -p
Enter password: 
Warning: Unable to load '/usr/share/zoneinfo//iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//leap-seconds.list' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//zone.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//zone1970.tab' as time zone. Skipping it.


그러다가 유레카
http://ingeni.tistory.com/entry/mysql-%EC%8B%9C%EA%B0%84%EB%8C%80timezone-%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

1. cd /usr/share/zoneinfo 를 쳐서 바꾸고 싶은 시간대가 있는지 확인합니다.  

2. 한국 시간대(Seoul)로 변경해 보겠습니다.
    cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime

3. 콘솔에서 date 명령어를 수행하면 시간대(TimeZone)이 KST로 변경된 것을 확인할 수 있습니다. 

4. mysql을 다시 실행 시키기 위해서 sudo su 슈퍼유저로 접속 한 후 
그 다음 콘솔에 service mysql restart 해줘서 mysql을 다시 실행시킵니다.





ubuntu 자체에서 시간대를 설정하니까 mysql에서도 오버라이딩 되느것 같았다.
자세한 사항은 좀 더 공부를 해야지 알 것 같다.



set time_zone='Asia/Souel';set time_zone='Asia/Souel';set time_zone='Asia/Souel';
set time_zone='Asia/Souel';set time_zone='Asia/Souel';set time_zone='Asia/Souel';
set time_zone='Asia/Souel';

댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째