2009-06-02 12 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> 

Jest on tworzony w ten sposób:dlaczego to zdarzenie mysql nie może zostać uruchomione?

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

i po dość okresie znalazłem:

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) 

Więc uważam, że zdarzenie nie działać w ogóle.

Odpowiedz

41

Czy działa program do planowania wydarzeń? Sprawdź pod numerem SHOW PROCESSLIST.

Jeśli nie masz procesu "Daemon" przez użytkownika "event_scheduler", oznacza to, że nie działa.

Uruchom harmonogram imprezy tak:

SET GLOBAL event_scheduler = ON; 

Zobacz także http://dev.mysql.com/doc/refman/5.1/en/events-configuration.html

+0

ale kiedy ponownie uruchomić serwer nie uruchamia się automatycznie –

+0

kiedy kładę linię 'event_scheduler = ENABLED' w pliku' my.conf' usługa się nie uruchamia –

+15

Musiałem wstawić wiersz 'event_scheduler = ON' w sekcji' [mysqld] 'pliku' my.conf' –

Powiązane problemy