У меня есть проблема, где MySQL сообщает о времени как на шесть минут позже, чем системное время. Я проверил, что все мои установки часового пояса корректны, но не знают, как диагностировать шестиминутное различие:
mysql> SELECT NOW(),CURDATE(),CURTIME();
+---------------------+------------+-----------+
| NOW() | CURDATE() | CURTIME() |
+---------------------+------------+-----------+
| 2015-04-24 16:05:24 | 2015-04-24 | 16:05:24 |
+---------------------+------------+-----------+
1 row in set (0.00 sec)
[root@server]# clock
Fri 24 Apr 2015 03:59:04 PM UTC -0.860391 seconds
Спасибо!
mysqld пытается определить ваш часовой пояс при запуске. Вы можете увидеть эти значения с помощью:
SELECT @@global.time_zone, @@session.time_zone;
Вы можете установить часовой пояс для каждого сеанса или глобально во время выполнения:
SET GLOBAL time_zone = timezone;
Вы можете, и кажется, вы должны установить его в файле конфигурации:
default-time-zone = '+ 0:00'
В документации говорится, что это допустимые значения для default-time-zone
:
Значение 'SYSTEM' указывает, что часовой пояс должен совпадать с часовым поясом системы.
Значение может быть указано в виде строки, указывающей смещение от UTC, например, «+10: 00» или «-6: 00».
Значение может быть указан как часовой пояс, например «Европа / Хельсинки», «США / Восток» или «МЕТ». Именованные часовые пояса могут использоваться, только если таблицы информации о часовых поясах в базе данных mysql были созданы и заполнены.
Наконец, подключающийся к mysql клиент угадывает и предоставляет часовой пояс сеансу, тем самым влияя на дату и время. функции, которые могут вызвать головную боль.
Ненавижу говорить очевидное, но работает ли MySQL в той же системе , что и экземпляр bash?
Вы подключаетесь к серверу по SSH или это локальный рабочий стол Linux? Как вы подключаетесь к MySQL?
Недавно мне пришлось устранять именно эту проблему, и я нашел это сообщение. В нашем случае разработчик использовал псевдоним для подключения к MySQL, и он не помнил, что MySQL на самом деле работал на другом хосте, чем он использовал SSH (также с псевдонимом).
Я также столкнулся с той же проблемой.
В моем случае часовой пояс сервера установлен на IST, но mysql относится к часовому поясу UTC.
Эта проблема возникла, поскольку я не знаю ' t перезапустил mysql после изменения часового пояса сервера.
перезапуск службы mysql будет работать!