Troubleshooting

[서버 오류]DB와 서버 시간(Time Zone) 차이 문제

sukii 2024. 9. 2. 13:38
반응형

DB에 게시물 등록 일시가  24-09-02 09:49:24 로 저장되어 있는데, 컨트롤러에서 그 기록을 가져오면 자꾸 9시간 뒤(24-09-02 18:49:24)로 설정되어 있는 문제가 발생함. 

문제의 원인은 등록 일시 컬럼의 데이터 타입이 DATETIME이였음.

이런 경우 문자열 자체를 가져오는 것이 아니라, 서버 시간을 기준으로 가져와질 수 있음.

그럼 서버시간과 DB 시간을 맞춰주면 됨.

 

구글링 결과, TOMCAT 서버 폴더 아래 > catalina.bat 파일 실행 후 > set CATALINA_OPTS=-Duser.timezone=GMT+09:00 을 삽입해주면 된다고 했다.

그런데 catalina 배치 파일이 실행이 되지 않아서 notepad를 관리자권한으로 실행 후, [파일] - [열기] 로 catalina 배치 파일을 열어서 위 파란색 문구를 추가해줬다. 그런데도 서버시간 안바뀜!!!!!!! 

 

그래서 결국 내가 한 방법은...

1. 이클립스 - 변경할 서버 더블 클릭

 

2.  [Open launch configuration] 클릭   

 

3. [Arguments]탭에서 VM arguments 부분에 -Duser.timezone=GMT  추가

GMT 부분은 원하는 시간대에 맞춰서 ! ( ex. GMT+9 )

난 서버가 DB보다 9시간이 빠른 상태로 떠서 GMT로 맞춰주니 둘이 같아졌다 !

 

 

+ 참고)

DBEAVER에서 아래 쿼리를 이용해 DB서버 시간의 기준을 알 수 있음

SELECT @@global.time_zone, @@session.time_zone;

 

반응형