Установка часового пояса по умолчанию на сервере 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 надеюсь, что это поможет и извините за синтаксические ошибки (если они есть).