Подтвердить что ты не робот

Изменение часового пояса соединения в MySQL

Мой сервер работает в MDT

Итак, я использовал следующий для преобразования EST

SET  time_zone = '-5:00'

Но как я могу переключить его на EDT, потому что

While `EST` is only valid in winter, while in summer how to change it to `EDT`

Я просто пытаюсь использовать именованный часовой пояс. Но я получаю следующую ошибку

 #1298 - Unknown or incorrect time zone: 'America/Toronto'

Я не понимаю, как решить эту проблему.

Как я могу переключить

UTC -05 TO UTC-04

4b9b3361

Ответ 1

Поскольку вы используете Windows, вам придется импортировать таблицы описания часовых поясов на ваш сервер MySQL.

http://dev.mysql.com/downloads/timezones.html

Ответ 2

Для Linux, BSD и Mac OS X, если вам нужно загрузить таблицу часовых поясов, выполните следующие действия:

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql

Ответ 3

Для меня на Windows с помощью WampServer:

  • загрузите версию POSIX из https://dev.mysql.com/downloads/timezones.html
  • разархивировать его
  • поместить все файлы в данные wamp mysql: C:\wamp\bin\mysql\mysql5.7.11\data\mysql
  • перезапустить wamp

Дополнительная информация:

"Чтобы использовать пакет часового пояса, содержащий файлы .frm,.MYD и .MYI для таблиц часовых поясов MyISAM, загрузите и распакуйте его. Эти файлы таблиц являются частью базы данных mysql, поэтому вы должны поместить файлы в mysqlsubdirectory вашего каталога данных сервера MySQL. Остановите сервер до этого и перезапустите его позже

http://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html#time-zone-installation

Ответ 4

Вы пытались использовать название zoneinfo, такое как "America/New_York" вместо аббревиатуры (которая действительна только в течение половины времени)?

В идеале, вы не должны вообще использовать часовой пояс сервера - сохраняйте даты в UTC, а затем конвертируйте их в соответствующий часовой пояс в коде клиента. (Обратите внимание, что это зависит от того, что вы храните. Будущие значения даты/времени, указанные пользователем с часовым поясом, должны храниться таким образом, а не преобразовываться в какой-либо другой часовой пояс, если правила изменяются между настоящим моментом и будущие дата/время. Но для моментов времени, записанных машинами, например, для ведения журнала, транзакций и т.д., я бы определенно сохранял UTC. Я бы никогда не предложил хранить "только местное время" и предполагал бы, что сервер и клиент имеют одинаковые правила ".)

Ответ 5

Для полноты картины пользователи Mac могут найти утилиту mysql_tzinfo_to_sql в mysql_tzinfo_to_sql /usr/local/mysql/bin.

Следовательно, полная команда будет /usr/local/mysql/bin/mysql_tzinfo_to_sql/usr/share/zoneinfo |./mysql -p -u root mysql /usr/local/mysql/bin/mysql_tzinfo_to_sql/usr/share/zoneinfo |./mysql -p -u root mysql

Я потратил часы, чтобы найти утилиту, вышеупомянутый путь может спасти ваш!