Установка часового пояса по умолчанию на сервере MySql через PhPMyAdmin

у меня есть общий экземпляр MySQL хостинга, у которого есть system_time_zone, установленный в Pacific Standard Time, и переменная time_zone, установленная в System, следовательно, эффективно она работает на Pacific Standard Time.

т. е. я выполнил следующую команду, чтобы узнать это:

SELECT version( ) , @@time_zone , @@system_time_zone , NOW( ) , UTC_TIMESTAMP( )

Я хотел бы изменить базу данных mySql по умолчанию / локальный часовой пояс MySQL DB на GMT / UTC. Я попытался бежать,SET time_zone = '+0:00', и это выполняется успешно!

однако, это кажется, не влияет на переменную time_zone, когда я проверяю состояние @@time_zone. Я посмотрел на другой пост, посвященный аналогичной проблеме как настроить MySQL на использование GMT в Windows и Linux и я также проверил документация MySql, С небольшим прогрессом. Поскольку я нахожусь на совместном хостинге, у меня ограниченный доступ, и у меня нет доступа к большему, чем моя функциональность phpmyadmin mySql.

интересно, есть ли способ измените зону default_time из SQL-запроса или мне нужно вернуться в командную строку (к которой у меня нет доступа, к сожалению).

Спасибо за помощь и советы,

Мартин

3 ответов


для хостинга, вам придется просить поддержки-ребята, чтобы помочь вам и изменить часовой пояс по умолчанию для вас? У меня была аналогичная проблема с хостинг-провайдером Arcor, позвонил им, и они ее исправили. До этого я нашел временное решение в date_default_timezone_set() из кода PHP. Вероятно, лучшее решение-попросить кого-то, у кого есть привилегия, изменить этот параметр.


короче, MySQL на самом деле магазины 'datetime ' поля типа данных внутренне как UTC.

However, PhpMyAdmin показывает вам даты, используя время по умолчанию сервера, следовательно, ваша путаница.

например, попробуйте добавить эту строку перед инструкцией SQL в PhpMyAdmin:

SET @@session.time_zone='+00:00';
SELECT * FROM MY_TABLE

посмотреть MySQL документация для получения дополнительной информации, или ответ в этом посте: Как правильно установить часовой пояс mysql

Ура Мэтт!--9-->


<?php
date_default_timezone_set('UTC'); //define local time

$date=date('l jS \of F Y h:i:s A'); //type of time shown

$conn=mysql_connect("localhost","root","") or die('Could not connect!'); //your database connection here

$db_selected = mysql_select_db('databasename', $conn); //select db

$result=mysql_query("INSERT INTO table (date) VALUES ('$date')", $conn); 
?>

просто отправил время как VARCHAR в db надеюсь, что это поможет и извините за синтаксические ошибки (если они есть).