반응형
1년간 개인 서버를 운영하다가 now()함수를 돌렸을 때 시간이 맞지 않다는 것을 지금 발견했다..ㅋㅋ아마 작업하고 테스트 했을때 UTC하고 KST하고 9시간 밖에 차이가 안 났기 때문에, 못알아 챈 것 같다. ㅋㅋ
select @@system_time_zone, @@global.time_zone;
일단 위 함수 돌렸을 때 시스템 시간이 UTC로 되어있었다. 이걸 한국 시간에 맞게 바꿔보자
방법 1. 임시 방편 - Maria 재부팅 하면 초기화
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
터미널을 이용해 우리 서버로 접속하고 위 명령어를 입력해주자. 아마 비번치라고 나오는데 비번 쳐주면 된다. 이 작업을 해야 시스템에서 사용하는 KST 정보들을 쓸 수 있다.
SET GLOBAL time_zone='Asia/Seoul'; SET time_zone = 'Asia/Seoul';
마리아 DB 에서 위 명령어를 입력해주자.
SELECT @@system_time_zone, @@global.time_zone, @@session.time_zone;
그리고나서 결과를 보면 일단 global, session의 time_zone이 Asia/Seoul로 바뀌었다.
SELECT NOW();
이 상태에서 셀렉트 나우를 찍어보면 현재 날짜로 바뀌긴 할텐데, 마리다 DB 서비스 혹은, 서버를 재부팅하면 원래대로 돌아간다.. ㅜㅜ...... 영구적으로 바꾸기 위해선 아래방법을 진행한다.
방법 2. 환경 변수 설정
cd /etc/
sudo vim my.cnf
etc 경로의 my.cnf를 수정하자, 있으면 내용이 있을꺼고, 보통은 저 경로에 저 파일이 없으니 새로 생성된다.
[mysqld]
default-time-zone=Asia/Seoul
위 내용을 입력하고 저장해주자.
systemctl restart mysql
그리고 마리아 DB 서비스를 재부팅 해주자.
SELECT @@system_time_zone, @@global.time_zone, @@session.time_zone;
재부팅 후에도 타임존이 Asia/Seoul로 유지되는 것을 볼 수 있다.
SELECT NOW();
셀렉트 나우를 통해 최종적으로 시간을 확인하자.
#마리아DB #mariaDB #Mysql #타임존 #변경 #시간 #안맞음 #timezone
반응형