내 SQL 표준 시간대 변경?
현재 UTC에 있는 표준 시간대를 GMT +1로 변경하려면 어떻게 해야 합니까? 정확한 줄은 무엇이고 phpMyAdmin SQL 실행에 입력하면 됩니까?
제 호스트가 방금 이 링크 http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html 를 주고 가버려서 저는 감사합니다.
Umar가 언급한 것처럼 이를 수행하는 가장 쉬운 방법은 예를 들어 다음과 같습니다.
mysql> SET GLOBAL time_zone = 'America/New_York';
일광 절약 시간제가 조정된 시간대의 경우 지정된 시간대를 사용하는 것이 중요합니다.그러나 일부 리눅스 빌드의 경우 다음과 같은 응답이 표시될 수 있습니다.
#1298 - 알 수 없거나 잘못된 시간대
이 메시지가 표시되면 tzinfo_to_sql 변환을 실행해야 할 수도 있습니다.쉽게 할 수 있지만 명확하지는 않습니다.Linux 명령줄에서 다음을 입력합니다.
mysql_tzinfo_to_sql /usr/share/zoneinfo/|mysql -u root mysql -p
루트 암호(Linux 루트가 아닌 MySQL 루트)를 제공하면 zoneinfo의 모든 정의가 mysql에 로드됩니다.그런 다음 다시 돌아가서 다음을 실행할 수 있습니다.
mysql> SET GLOBAL time_zone = timezone;
다음 명령을 실행합니다.
SET time_zone = 'America/New_York';
(또는 GMT+1이 어떤 시간대이든 상관없습니다.: http://www.php.net/manual/en/timezones.php)
클라이언트가 여러 표준 시간대에 분산되어 있다고 가정할 때 개별 클라이언트의 MySQL 표준 시간대를 설정하는 명령입니다.
이 명령은 날짜가 포함된 모든 SQL 명령 전에 실행되어야 합니다.쿼리가 클래스를 통과할 경우 이를 구현하기가 쉽습니다.
Bryon의 답변은 도움이 되지만, 그의 링크는 MySQL 시간대 이름과 동일하지 않은 PHP 시간대 이름에 대한 것이라고 덧붙이고 싶습니다.
개별 세션의 표준 시간대를 GMT+1(정확히는 UTC+1)로 설정하려면 해당 명령에서 '+01:00' 문자열을 사용하십시오.예:
SET time_zone = '+01:00';
MySQL 세션에서 사용 중인 표준 시간대를 보려면 다음을 실행하십시오.
SELECT @@global.time_zone, @@session.time_zone;
자세한 내용은 다음과 같은 훌륭한 참조 자료를 참조하십시오.MySQL 5.5 표준 시간대 참조
PHP(>=5.3)와 MySQL 시간대를 세션별 및 사용자 설정별로 동기화하는 방법은 다음과 같습니다.설정 및 동기화된 표준 시간대가 필요할 때 이 값을 실행 위치에 놓습니다.
date_default_timezone_set($my_timezone);
$n = new \DateTime();
$h = $n->getOffset()/3600;
$i = 60*($h-floor($h));
$offset = sprintf('%+d:%02d', $h, $i);
$this->db->query("SET time_zone='$offset'");
여기서 $my_timezone은 PHP 시간대 목록에 있는 하나입니다. http://www.php.net/manual/en/timezones.php
PHP 시간대는 MySQL의 시/분 오프셋으로 변환해야 합니다.그게 1-4호선이 하는 일입니다.
SUPER 권한이 있는 경우 다음 명령을 사용하여 런타임에 글로벌 서버 표준시 값을 설정할 수 있습니다.
mysql> SET GLOBAL time_zone = timezone;
SET time_zone 또는 SET GLOBAL time_zone이 작동하지 않는 경우 다음과 같이 변경할 수 있습니다.
표준 시간대 시스템 변경(예: unbuntu...suddpkg-1987 수치 tz 데이터
서버를 다시 시작하거나 apache2 및 mysql을 다시 시작할 수 있습니다(/etc/init.d/mysql 다시 시작).
이것은 잘 작동합니다.
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
$con->query("SET GLOBAL time_zone = 'Asia/Calcutta'");
$con->query("SET time_zone = '+05:30'");
$con->query("SET @@session.time_zone = '+05:30'");
?>
언급URL : https://stackoverflow.com/questions/3451847/mysql-timezone-change
'programing' 카테고리의 다른 글
요청이 실패했거나 서비스가 적시에 응답하지 않았습니까? (0) | 2023.08.05 |
---|---|
RAW(16) 열에 UUID를 삽입하는 방법 (0) | 2023.08.05 |
WKWebView iOS 8에서 로컬 파일을 로드하지 않음 (0) | 2023.08.05 |
개체 배열의 각도 업데이트 개체 (0) | 2023.08.05 |
첫 번째 콜이 자동 증분인 mysql에 데이터 INFILE을 로드하는 방법은 무엇입니까? (0) | 2023.08.05 |