상세 컨텐츠

본문 제목

[sql] mariadb/mysql 인설트 시 한국시간 아닐 때 시간 정확하지 않을 때

mysql

by 2hansoul 2022. 8. 19. 14:18

본문

반응형

SQL 시간 형식 

mysql 날짜, 시간형식은 총 3가지이다.

  1. date: 날짜 (YYYY-MM-DD)
  2. datetime: 날짜와 시간(YYYY-MM-DD hh:mm:ss)
  3. timestamp: 날짜와 시간(YYYY-MM-DD hh:mm:ss[.fraction])

datetime과 timestamp 둘다 날짜와 시간을 적을 수 있는데 가장큰 차이는 타임 존 반영 유무다.
datetime은 타임존 정보가 없고
timestamp는 mysql서버의 타임존에 맞춰서 UTC시간을 띄워준다

 

SQL 시간 확인 하기 

select @@global.time_zone, @@session.time_zone,@@system_time_zone;

해당 시간은 system 이라고 표기 되어있다 이 부분을 변경 해야 한다

현재 시간이 이상하게 나온다

cnf 파일 수정 하여 시간 설정 하기 

명령어로 수정도 가능 하지만 재시작 시 초기화가 되서 cnf 파일 직접 수정을 한다 

vi /etc/my.cnf.d/mariadb-server.cnf

마리아 디비 기준 해당 경로에서 맨밑에 명령 추가해준다

default-time-zone="+09:00"

systemctl restart mariadb 
해당 명령어는 centos7 이상 부터 적용 되는 명령어
service mariadb restart 
명령어를 입력해도 적용이 되긴 하는것 같은데 service 는 centos6이하에서 쓰던 명령어 
둘다 입력해도 상관은 없지만 centos버전 확인 하고 쓰면 좀 더 좋지 않을까 
vi /etc/redhat-release 해당 명령어로 버전 확인이 가능하다

 

재시작 해주면 정상적으로 시간이 적용 된다 그 전에 있는 컬럼값 까지 교체 되는건 아니고 새롭게 입력한 값만 적용이 됨

 vim /etc/mysql/mysql.conf.d/mysqld.cnf 
 mysql 사용시 해당 명령어 입력 해보자 없다면
 find / -name *.cnf 라고 적혀있는거 찾아서 수정
반응형

관련글 더보기

댓글 영역