MySQL Time Different from System Time

У меня есть проблема, где 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

Спасибо!

4
задан 24 April 2015 в 19:00
3 ответа

mysqld пытается определить ваш часовой пояс при запуске. Вы можете увидеть эти значения с помощью:

SELECT @@global.time_zone, @@session.time_zone;

Вы можете установить часовой пояс для каждого сеанса или глобально во время выполнения:

SET GLOBAL time_zone = timezone;

Вы можете, и кажется, вы должны установить его в файле конфигурации:

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

В документации говорится, что это допустимые значения для default-time-zone :

  1. Значение 'SYSTEM' указывает, что часовой пояс должен совпадать с часовым поясом системы.

  2. Значение может быть указано в виде строки, указывающей смещение от UTC, например, «+10: 00» или «-6: 00».

  3. Значение может быть указан как часовой пояс, например «Европа / Хельсинки», «США / Восток» или «МЕТ». Именованные часовые пояса могут использоваться, только если таблицы информации о часовых поясах в базе данных mysql были созданы и заполнены.

Наконец, подключающийся к mysql клиент угадывает и предоставляет часовой пояс сеансу, тем самым влияя на дату и время. функции, которые могут вызвать головную боль.

0
ответ дан 3 December 2019 в 04:10

Ненавижу говорить очевидное, но работает ли MySQL в той же системе , что и экземпляр bash?

Вы подключаетесь к серверу по SSH или это локальный рабочий стол Linux? Как вы подключаетесь к MySQL?

Недавно мне пришлось устранять именно эту проблему, и я нашел это сообщение. В нашем случае разработчик использовал псевдоним для подключения к MySQL, и он не помнил, что MySQL на самом деле работал на другом хосте, чем он использовал SSH (также с псевдонимом).

1
ответ дан 3 December 2019 в 04:10

Я также столкнулся с той же проблемой.

В моем случае часовой пояс сервера установлен на IST, но mysql относится к часовому поясу UTC.

Эта проблема возникла, поскольку я не знаю ' t перезапустил mysql после изменения часового пояса сервера.

перезапуск службы mysql будет работать!

0
ответ дан 3 December 2019 в 04:10

Теги

Похожие вопросы