Как настроить MySQL для использования GMT в Windows и Linux

Я просто пытаюсь заставить MySQL хранить время в GMT ...

Я читал документацию здесь: http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html

Он говорит, что нужно установить: default-time-zone = 'timezone' в файле параметров.

Однако я погуглил по нескольким различным терминам и не смог найти возможные значения, которыми должен быть часовой пояс. Я также не знаю, где в my.ini (и в Linux my.cnf) разместить эту директиву. Ниже [msyqld]?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
24
0
17 195
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Да, это серверная опция для mysqld, поэтому ее следует поместить в раздел [mysqld].

Также относительно значений см. Полное руководство по MySQL 5

И что это за строка для GMT ... Мне еще предстоит найти таблицу, в которой перечислены допустимые значения для "часового пояса"

Sam 13.01.2009 04:56

Таблица часовых поясов MySQL не загружается по умолчанию, что может быть причиной возникновения трудностей. Вам нужно загрузить таблицу часовых поясов, а затем установить часовой пояс, используя приведенные выше инструкции.

К черту ... DATETIME, хотя при просмотре таблиц это намного приятнее, но этого кошмара не стоит.

Я просто собираюсь использовать TIMESTAMP.

Ответ принят как подходящий

Перейдите в раздел [mysqld] вашего файла my.ini и в этом разделе введите эту строку

default-time-zone = '+00:00'

«+00: 00» указывает смещение от GMT, которое в вашем случае будет 0. Обратите внимание на знак «+» в строке.

Вам не нужно устанавливать какие-либо таблицы часовых поясов для решения вашей проблемы. После перезапуска сервера ваш сервер будет работать в часовом поясе UTC и, следовательно, NOW () предоставит вам время в GMT.

По умолчанию MySQL настроен на ваш системный часовой пояс, т.е. часовой пояс вашего сервера совпадает с часовым поясом вашей системы. Таким образом, вы также можете изменить часовой пояс вашей системы, чтобы решить вашу проблему, хотя это не рекомендуется.

Не уверен, почему так много ответов, чтобы установить это вручную после запуска. Вы хотите, чтобы это было в конфиге. Установите и забудьте. :)

Joseph Lust 30.12.2012 23:02

Чтобы сэкономить несколько кликов, список названий зон выглядит так:

select name from mysql.time_zone_name;

Остерегайтесь установки зоны с фиксированным смещением, такой как «GMT» или «+00: 00», поскольку она не будет изменяться в соответствии с местным временем / летним временем и т. д. Если вы хотите, чтобы она соответствовала местному времени, установите для зоны значение «Европа / Лондон». ' вместо. Если вы этого не хотите, я бы все равно выбрал UTC вместо GMT.

Я использую это для GMT + 2: УСТАНОВИТЬ GLOBAL time_zone = '+02: 00';

Другие вопросы по теме