반응형

1. 파일 다운로드 및 unzip 설치

1.1 파일 다운로드

# 다운로드 경로 이동
cd /usr/share/zoneinfo/

# 다운로드
wget https://downloads.mysql.com/general/timezone_2025b_posix_sql.zip

1.2 unzip 설치 및 압축 해제

# 설치
sudo dnf install -y unzip
# 압축 해제
unzip timezone_2025b_posix_sql.zip

2. Database

2.1 MySQL 현재 시간대 확인

SELECT @@global.time_zone, @@session.time_zone;
  • 적용 전
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM             | +09:00 (또는 현재 서버 시간대) |
+--------------------+---------------------+
  • 적용 후
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| +00:00             | +00:00              |
+--------------------+---------------------+

2.2 MySQL 설정 정보 변경

  • mysql config 추가
sudo vi /etc/my.cnf
  • 아래 내용 입력
[mysqld]
default_time_zone = '+00:00'
  • mysql 서비스 재시작
sudo systemctl restart mysql

2.3 TimeZone 정보 설치

use mysql;
SOURCE /usr/share/zoneinfo/timezone_2025b_posix_sql/timezone_posix.sql;

2.4 데이터 저장 및 조회

  • 조회 : TimeZone(예: 남아공 Africa/Johannesburg)을 기준으로 조회
SELECT CONVERT_TZ(CONVERT_TZ(), 'UTC', 'Africa/Johannesburg');
  • 저장 : UTC 기준으로 저장
SELECT UTC_TIMESTAMP();

3. Spring Boot 설정

# application.yml
spring:
  jackson:
    time-zone: UTC
  datasource:
    url: jdbc:mysql://localhost:3306/your_db?serverTimezone=UTC

4. Docker 환경에서 UTC 시간 고정

대상설정 방법

Container OS 시간대 TZ=UTC 환경 변수 설정 또는 /etc/localtime 볼륨 마운트
Spring Boot Container TZ=UTC 환경 변수 + application.yml에서 time-zone 설정

4.1 Container OS 시간대

Docker run 예시

docker run -e TZ=UTC image-file

docker-compose.yml 예시

services:
  app:
    image: your-spring-boot-app
    environment:
      - TZ=UTC

4.2 Spring Boot Container

Dockerfile 또는 docker-compose.yml 예시

services:
  spring-app:
    image: your-spring-boot-app
    environment:
      - TZ=UTC

4.3 확인 방법

docker exec -it container-name date
  • 출력 예
Thu May  8 10:00:00 UTC 2025
반응형

'Database' 카테고리의 다른 글

MongoDB(7.0.24) 설치 절차  (0) 2026.01.28
개발서버(RockyLinux)에 MySQL(8.x) 설치  (0) 2026.01.28
[MySQL]Insert, Update, Delete Query Generator  (0) 2018.08.21
데이터모델링의 개요  (0) 2018.08.02
REDO, UNDO  (0) 2018.07.26

+ Recent posts