Mysql: как диагностировать и исправить неправильный часовой пояс - PullRequest
2 голосов
/ 16 сентября 2011

На моем сервере у меня есть следующее из командной строки:

]$ date
Fri Sep 16 13:47:02 JST 2011

Что правильно.

в MySQL, у меня есть следующее:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2011-09-16 04:50:21 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM             | SYSTEM              |
+--------------------+---------------------+
1 row in set (0.00 sec)

Итак, оно установлено на системное время, но тогда почему не отображается одно и то же время?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2014

Вам просто нужно перезапустить mysqld после изменения часового пояса системы.

Глобальный часовой пояс MySQL занимает часовой пояс Системы. Когда вы изменяете любой такой атрибут системы, вам просто нужно перезапустить Mysqld.

Вот и все.

0 голосов
/ 16 сентября 2011

Ваши запросы возвращают значения в UTC, но из вывода командной строки ваша система находится в JST. Поскольку переменные возвращают SYSTEM, я бы предположил, что, возможно, ваша конфигурация определила систему как UTC. Проверьте my.cnf, как предложено здесь Как сделать так, чтобы функции MySQL NOW () и CURDATE () использовали UTC? .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...