스프링 부트에 mysql을 연동하다 보니 아래와 같은 에러가 떴습니다!!
찾아보니 오류 메세지에 써있는 것과 같이 서버 시간 관련 에러라고 합니다. mysql 5.1.x 버젼 이후에서 발생한다고 합니다. 바로 해결 방법으로 가봅시다.
첫번째
JDBC URL에 옵션 추가
jdbc:mysql://localhost:3306/example?serverTimezone=UTC&characterEncoding=UTF-8
URL에 ?serverTimezone=UTC 을 추가하는 방법입니다. UTC(Coordinated Universal Time:세계 협정시)는 예전의 GMT(Greenwich Mean Time)가 표준화 된 것입니다.
저는 위처럼 해도 에러가 떴습니다.
그래서 찾아보니 KST라는 것이 있기에 적용해 보았지만 역시나 에러입니다 ㅠ
우리나라의 표준시는 KST 입니다. UTC +9:00 인 값입니다
또 ?serverTimezone=Asia/Seoul 라는 것을 발견해 적용해 보았지만 에러입니다...
다른방법으로 넘어가 봅시다!!
두번째
C드라이브 -> ProgramData -> MySQL -> MySQL server 폴더에 들어가보면 my.ini파일이 있습니다.
메모장을 관리자 권한으로 실행하여 my.ini파일을 열어줍니다.(ProgramData폴더는 숨겨져 있는 폴더입니다.)
my.ini 파일에 [mysqld] 섹션에 default-time-zone을 추가합니다. 아래는 KST 로 지정한 것입니다.
[mysqld] default-time-zone='+9:00' |
default-time-zone='UTC' 형식으로 설정하면 에러가 발생합니다. UTC로 지정하기 위해서는 '+0:00' 또는 '-0:00' 으로 설정합니다. 그냥 '0:00' 으로 설정하면 안됩니다.
이 방법으로 저는 에러를 해결하였습니다!
또 다른 방법이 있으면 찾아봐야겠습니다!!