>  기사  >  데이터 베이스  >  MySQL에서 시간대를 효과적으로 사용하려면 어떻게 해야 합니까?

MySQL에서 시간대를 효과적으로 사용하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-11-05 18:46:02195검색

How Can I Effectively Use Time Zones in MySQL?

MySQL 시간대

MySQL의 시간대 지원에 대해 궁금하십니까? 다음은 MySQL 시간대를 효과적으로 이해하고 사용하는 데 도움이 되는 포괄적인 가이드입니다.

MySQL 시간대 전체 목록

기본적으로 MySQL에는 시간대 정보가 포함되지 않습니다. 시간대 데이터를 MySQL에 로드하려면 다음 명령을 실행하십시오.

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

로드된 후에는 다음을 실행하여 사용 가능한 시간대 목록을 볼 수 있습니다.

USE mysql;
SELECT * FROM `time_zone_name`;

사용 시간대

타임스탬프 값에 대한 시간대를 지정하려면 CONVERT_TZ() 함수를 사용하세요.

CONVERT_TZ('2012-06-07 12:00:00', 'GMT', 'America/New_York')

이렇게 하면 타임스탬프가 캘거리 현지 시간으로 변환됩니다.

자동으로 시간대 데이터 로드

시스템 시간대가 변경될 때 MySQL 시간대를 자동으로 업데이트하려면 비밀번호 없이 루트 로그인을 허용하도록 MySQL을 구성하십시오.

MySQL >= 5.6.6

mysql_config_editor set --login-path=client --host=localhost --user=root --password

MySQL < 5.6.6

~/.my.cnf 파일 만들기:

user=root
password=yourMysqlRootPW

업데이트 스크립트

다음 스크립트를 추가합니다. 매일 시간대를 업데이트하는 crontab:

#!/bin/bash
if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
    echo "Updating MySQL timezone info"
    mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
    echo "Done!\n"
fi

추가 팁

  • MySQL에서 시간대 정보는 약 5MB를 차지합니다.
  • 시간대 테이블을 삭제하지 마세요. 대신 TRUNCATE를 사용하세요.

위 내용은 MySQL에서 시간대를 효과적으로 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.