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

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

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

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

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

Ответ 1

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

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

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

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

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

Ответ 2

Чтобы сохранить несколько кликов, список имен зон отображается следующим образом:

select name from mysql.time_zone_name;

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

Ответ 3

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

Ответ 4

Я использую это для GMT + 2: SET GLOBAL time_zone = '+02: 00';

Ответ 5

Вверните это... DATETIME, хотя намного проще на глаза при просмотре таблиц, не стоит этого кошмара.

Я просто использую TIMESTAMP.