event由特殊的event_scheduler线程来执行,
通过以下方式,显示运行的线程信
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

SHOW FULL PROCESSLIST;/SHOW FULL PROCESSLIST \G
mysql> SHOW FULL PROCESSLIST \G
*************************** 1. row ***************************
     Id: 1
   User: root
   Host: localhost:50756
     db: test
Command: Sleep
   Time: 232
  State:
   Info: NULL
*************************** 2. row ***************************
     Id: 3
   User: root
   Host: localhost:51561
     db: test
Command: Query
   Time: 0
  State: NULL
   Info: SHOW FULL PROCESSLIST
*************************** 3. row ***************************
     Id: 4
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon
   Time: 62
  State: Waiting for next activation
   Info: NULL
3 rows in set (0.00 sec)

开启 Event Scheduler,以下4种方式等效
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;

关闭 Event Scheduler,以下4种方式等效
SET GLOBAL event_scheduler = OFF;
SET @@global.event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = 0;

CREATE event语法
CREATE
    [DEFINER = { user | CURRENT_USER }]
    EVENT
    [IF NOT EXISTS]
    event_name
    ON SCHEDULE schedule
    [ON COMPLETION [NOT] PRESERVE]
    [ENABLE | DISABLE | DISABLE ON SLAVE]
    [COMMENT 'comment']
    DO event_body;

schedule:
    AT timestamp [+ INTERVAL interval] ...
  | EVERY interval
    [STARTS timestamp [+ INTERVAL interval] ...]
    [ENDS timestamp [+ INTERVAL interval] ...]

interval:
    quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
              WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
              DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
具体含义可以参见mysql 5.5 Refer

查看event ddl
SHOW CREATE EVENT test_event;/SHOW CREATE EVENT test_event \G

查询schema下的所有event
SHOW EVENTS FROM test;/SHOW EVENTS FROM test \G

SELECT event_schema,event_name,event_definition,interval_value,interval_field,last_executed,status
FROM `INFORMATION_SCHEMA`.`EVENTS`
WHERE `EVENT_SCHEMA` = 'test'
ORDER BY EVENT_NAME;

  1. --设置实例 
  2. mysql>  show variables like '%sched%'
  3. +-----------------+-------+ 
  4. | Variable_name   | Value | 
  5. +-----------------+-------+ 
  6. | event_scheduler | OFF   | 
  7. +-----------------+-------+ 
  8. 1 row in set (0.00 sec) 
  9.  
  10. mysql> select @@global.event_scheduler; 
  11. +--------------------------+ 
  12. | @@global.event_scheduler | 
  13. +--------------------------+ 
  14. OFF                      | 
  15. +--------------------------+ 
  16. 1 row in set (0.00 sec) 
  17.  
  18. mysql> SET GLOBAL event_scheduler = ON
  19. Query OK, 0 rows affected (0.02 sec) 
  20.  
  21. mysql>  show variables like '%sched%'
  22. +-----------------+-------+ 
  23. | Variable_name   | Value | 
  24. +-----------------+-------+ 
  25. | event_scheduler | ON    | 
  26. +-----------------+-------+ 
  27. 1 row in set (0.00 sec) 
  28.  
  29. mysql> select @@global.event_scheduler; 
  30. +--------------------------+ 
  31. | @@global.event_scheduler | 
  32. +--------------------------+ 
  33. ON                       | 
  34. +--------------------------+ 
  35. 1 row in set (0.00 sec) 
  36.  
  37.  
  38. --创建过程并生成event. 
  39. mysql> DELIMITER $$ 
  40. mysql> 
  41. mysql> CREATE  PROCEDURE `test`.`test_proc_event`(IN p_date DATETIME) 
  42.     ->     BEGIN 
  43.     ->  START TRANSACTION
  44.     ->  INSERT INTO t_event VALUES(p_date); 
  45.     ->  COMMIT
  46.     ->     END$$ 
  47. Query OK, 0 rows affected (0.00 sec) 
  48.  
  49. mysql> 
  50. mysql> DELIMITER ; 
  51. mysql> delimiter // 
  52. mysql> create EVENT test_event 
  53.     ->     ON SCHEDULE 
  54.     ->     EVERY 2 MINUTE 
  55.     ->     do 
  56.     ->     begin 
  57.     ->       call test_proc_event(now()); 
  58.     ->     end
  59.     ->     // 
  60. Query OK, 0 rows affected (0.00 sec) 
  61.  
  62. --event生效 
  63. mysql> select * from t_event; 
  64. +---------------------+ 
  65. | pdate               | 
  66. +---------------------+ 
  67. | 2012-09-07 22:28:11 | 
  68. | 2012-09-07 22:30:11 | 
  69. | 2012-09-07 22:32:11 | 
  70. | 2012-09-07 22:34:11 | 
  71. +---------------------+ 
  72. rows in set (0.00 sec)