@inververs

Почему планировщик MYSQL ошибается на 2 часа?

CREATE DEFINER=`myuser`@`localhost` EVENT `daybegin`
	ON SCHEDULE
		EVERY 1 DAY STARTS '2015-06-20 02:00:00'
	ON COMPLETION PRESERVE
	ENABLE
	COMMENT ''
	DO BEGIN

UPDATE `clientconfigs` SET `today_count` = 0, `error_global_day` = 0,`error_local_day` = 0, `error_form_day` = 0;

UPDATE `clientconfigs` SET `col_today` = FLOOR(`col_do` + RAND() * (`col_ot` + 1 - `col_do`)) WHERE `col_ot` > 0;

DELETE FROM `works` WHERE `current_state` = 1 AND DATE_FORMAT(`time_out`,"%Y-%m-%d") <= CURDATE() - INTERVAL 1 DAY;
    END

Вот код события, мне нужно что бы оно запускалось в 00 часов, но в реальности оно запускается в 22 часа, поэтому что бы скорректировать, я задаю время в 2 часа ночи.
Вопрос, почему такое происходит и как исправить?
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 4
Spetros
@Spetros
IT-шник
Есть такая штука как часовые пояса, на вашем компьютере и на сервере они совпадают? Или вы и там и там время в UTC используете?
Ответ написан
Время на сервере другое стоит верояно, посмотрите сколько сервер показывает и подкорректируйте
Ответ написан
TheCreator
@TheCreator
Бездельник
Вот, курите, тут всё написано:
https://dev.mysql.com/doc/refman/5.5/en/time-zone-...
В mysql может быть "свой" часовой пояс.
Ответ написан
@inververs Автор вопроса
Вот переменные
mysql>SELECT @@global.time_zone, @@session.time_zone;
SYSTEM, SYSTEM

mysql>SHOW VARIABLES
system_time_zone: W.Europe Daylight Time
time_zone: SYSTEM

SERVER Time zone
(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna


Вроде же все верно?
Time Zone Tables не заполнены
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы