💡새로 알게 된 것💡
미니 게시판에 JPA의 LocalDateTime을 사용해서 최종 수정시간이 찍힐 수 있도록 만들어서 배포까지 하였는데 , 알고보니 찍히는 시간이 현재시간과 다르게 나오는거다 .
구글링을 하며 찾아보니 코드를 추가해서 변경할 수 있는 방법이 여러가지 가 있었다.
그런데 내가 sql워크밴치에가서 확인을 해보니 시간이 아예 9시간 적게 찍혀있었다. 그래서 mysql쪽 문제라고 판단을 했고 구글링을 그런 쪽으로 했는데 , sql에 명령어 입력해서 시간 설정을 바꿔주면 된다고 나와있었다.
내 상황과 딱 맞는 것 같아서 따라해보았지만 제대로 되지 않았고(내가 뭘 잘 못했겠지..) 결국다른 코드로 상황을 해결 할 수 있었다.
해결할 수있었던 코드. application 파일에 해당 코드를 추가해주면 된다.
(도움주신 저희동기님 감사합니다🙏)
@PostConstruct
public void started(){
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
}
내가 해보았던 sql 해결 방식은 이러했다.
select now();
워크밴치에서 위 명령어로 현재 시간을 확인했다.
원래 시간보다 -9시간이 되어있었다.
SET GLOBAL time_zone='+09:00';
SET time_zone='+09:00';
위 명령어를 입력해서 시간대를 조정해주었다.
그리고 다시
select now();
sql 시간을 확인해보니 잘 맞았다.
그런데 sql을 재시작이 되면 설정했던게 사라진다고 해서 파일 설정을 바꿔줘야하는 부분이 있었는데
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
나는 해당 명령어를 입력해도 맞는 파일이 없다고 나왔다.
sql이 내 컴퓨터에 설치가 안되어 있는건가 ... ㅜㅜ
그래도 해결이 되어 다행이다.
이렇게 환경에 대한 오류나 문제가 나에게는 코드적인 문제보다 훨씬 어렵게 느껴진다..ㅠ 아마 cs적 지식이 부족해서겠지..
공부해나가야 할 것들이 많다 멀고도 먼 네트워크의 세계.