MySQL 타임존(Time Zone) 명령어 정리

목차
TimeZone 변경
MySQL(MariaDB)에서 타임존은 set time_zone명령어로 변경 할 수 있다. 단 이 명령어는 현재 접속된 컨넥션에만 영향을 받으며 재 접속시에는 서버의 타임존을 따라간다.
MariaDB [(none)]> SET TIME_ZONE='+09:00';
Query OK, 0 rows affected (0.000 sec)</code>
</pre>
<p><code>Asia/Seoul</code>와 같이 타임존을 직접 입력하여 변경도 가능하다.</p>
<pre><code>MariaDB [(none)]> SET TIME_ZONE='Asia/Seoul';
Query OK, 0 rows affected (0.000 sec)
Timezone 코드가 데이터베이스에 없는 경우
만약, ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Seoul'와 같은 에러가 발생한다면 데이터베이스에 타임존 코드를 추가해줘야 한다.
이 문서에서는 리눅스 Ubuntu 배포판의 경우만 다루며, 기타 설치 방법에 대해서는 하단에 참조에 기록한다.
Ubuntu
$ sudo apt update
$ sudo apt install tzdata
$ ls /usr/share/zoneinfo/
$ mysql_tzinfo_to_sql /usr/share/zoneinfo/ > ~/zoneinfo.sql
$ cat ~/zoneinfo.sql | sudo mysql -u root mysql -pMariaDB [(none)]> SELECT name FROM mysql.time_zone_name;
참조
- Timezone 데이터가 MySQL 에 없는 경우 - https://jwkim96.tistory.com/23#h-tag-1
- Working with MySQL-MariaDB Time Zones - https://linuxhint.com/mysql_mariadb_time_zones/

댓글 0개
등록된 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!