database의 timestamp를 사용하면 UTC 기준으로 시간이 잡힙니다. 이 UTC 기준시간은 우리나라 시간에서 9시간이 빠진 시간이 되는데 이때 우리나라 기준의 시간으로 변경을 해 주어야 하는데요. 어떻게 할 수 있을까요?
timezone 확인하기
아래 코드를 이용하여 현재 내 time_zone을 확인하여 봅시다.
대게 결괏값으로 system을 받을 것입니다.
select @@global.time_zone, @@session.time_zone
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1) SET을 이용하여 시간 변경
SET GLOBAL time_zone = 'Asia/Seoul';
SET time_zone = 'Asiz/Seoul';
이 두 코드를 이용하여 time_zone을 변경할 수 있습니다. 하지만 이 경우에는 mysql을 재가동하면 증발하기 "일시적" 변경입니다. 그렇다면 어떻게 해야 영구적으로 time_zone을 변경할 수 있을까요? 다음 방법을 통해 알아봅시다.
2) my.cnf를 통해서 변경하기
[mysqld]
default-time-zone = "+09:00"
default-time-zone = Asia/Seoul
영구적으로 변경하는 방법으로는 my.cnf의 default-time-zone을 추가해 주는 것입니다.
이 my.cnf는 어디에 존재할까요? 이는 설치를 어디서 했냐에 따라 다릅니다.
👉 PC에 설치한 경우 : C:\ProgramData\MySQL
👉 docker에 설치한 경우 : /etc/mysql
'데이터베이스' 카테고리의 다른 글
MySQL 데이터 삭제 (0) | 2024.01.13 |
---|---|
스칼라 서브쿼리 (0) | 2024.01.07 |
DATABASE의 제약조건 (NOT NULL과 DEFAULT) (0) | 2023.12.19 |
[SQL] 날짜/시간 타입 (0) | 2023.12.19 |
데이터 중복과 정규화 (0) | 2023.12.18 |