2009-06-02 3 views
13
mysql> show create event online_event; 
+--------------+-----------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ 
| Event  | sql_mode        | time_zone | Create Event                                              | character_set_client | collation_connection | Database Collation | 
+--------------+-----------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ 
| online_event | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER | SYSTEM | CREATE EVENT `online_event` ON SCHEDULE EVERY 1 SECOND STARTS '2009-06-03 06:54:16' ON COMPLETION NOT PRESERVE ENABLE DO DELETE FROM online where webserver_id is null and jabber_server_id is null | utf8     | utf8_general_ci  | utf8_general_ci | 
+--------------+-----------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ 
1 row in set (0.00 sec) 

mysql> 

Он создан таким образом:Почему это событие mysql не может быть запущено?

CREATE EVENT online_event 
    ON SCHEDULE EVERY 1 SECOND 
    DO 
     DELETE FROM online where webserver_id is null and jabber_server_id is null; 

и после довольно период, я обнаружил:

mysql> select *from online; 
+----+------------+---------------------+--------------+------------------+ 
| id | account_id | since    | webserver_id | jabber_server_id | 
+----+------------+---------------------+--------------+------------------+ 
| 1 |   30 | 2009-06-03 06:24:38 |   NULL |    NULL | 
+----+------------+---------------------+--------------+------------------+ 
1 row in set (0.00 sec) 

Так что я считаю, что это событие не работает вообще.

ответ

41

Включен ли планировщик событий? Обратитесь к SHOW PROCESSLIST.

Если у вас нет процесса «Daemon» пользователем «event_scheduler», значит, он не работает.

Запустите планировщик событий таким образом:

SET GLOBAL event_scheduler = ON; 

http://dev.mysql.com/doc/refman/5.1/en/events-configuration.html Смотрите также

+0

, но когда я перезапустить сервер не запускается автоматически –

+0

, когда я помещал линию 'event_scheduler = ENABLED' в файле' my.conf' служба не запускается –

+15

Мне пришлось вставить строку 'event_scheduler = ON' в раздел' [mysqld] 'файла' my.conf' –

Смежные вопросы