•
El event scheduler de MySQL 5.1
Una de las mejoras de MySQL 5.1 es el event scheduler. Vamos a ver como funciona.
El event scheduler es como un cron interno de MySQL. Mediante SHOW PROCESSLIST podemos verlo si esta activado:
mysql> show full processlist; +-------+-----------------+-----------+----------+---------+--------+------------------------+-----------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+-----------------+-----------+----------+---------+--------+------------------------+-----------------------+ | 1 | event_scheduler | localhost | NULL | Daemon | 122929 | Waiting on empty queue | NULL | (...) | 27686 | root | localhost | NULL | Query | 0 | NULL | show full processlist | +-------+-----------------+-----------+----------+---------+--------+------------------------+-----------------------+ 110 rows in set (0.00 sec)
Si no lo vemos mediante SHOW VARIABLES podemos ver en que estado se encuentra. Las posibilidades son:
- DISABLED: El event scheduler no esta disponible. Podemos darle permisos al usuario mediante el siguiente GRANT:
GRANT EVENT ON systemadmin.* TO jordi@canals.systemadmin.es;
- OFF: El scheduler esta deshabilidado, por lo que tenemos que modificar el /etc/my.cnf para añadir la siguiente linea:
event_scheduler=on
o mediante SET GLOBAL:
mysql> SET GLOBAL event_scheduler=on; Query OK, 0 rows affected (0.00 sec)
- ON: El scheduler ya esta habilidado, por lo que deberiamos verlo en la lista de procesos.
Un ejemplo de proceso podría ser uno que insertara la fecha en una tabla cada 5 segunos:
mysql> create event primer_evento
-> on schedule every 5 second
-> on completion preserve
-> enable
-> do insert into cron(data) values (NOW());
Query OK, 0 rows affected (0.04 sec)
mysql> select * from cron;
+----+---------------------+
| id | data |
+----+---------------------+
| 1 | 2009-01-15 13:24:02 |
| 2 | 2009-01-15 13:24:07 |
| 3 | 2009-01-15 13:24:12 |
| 4 | 2009-01-15 13:24:17 |
| 5 | 2009-01-15 13:24:22 |
| 6 | 2009-01-15 13:24:27 |
| 7 | 2009-01-15 13:24:32 |
| 8 | 2009-01-15 13:24:37 |
| 9 | 2009-01-15 13:24:42 |
| 10 | 2009-01-15 13:24:47 |
| 11 | 2009-01-15 13:24:52 |
| 12 | 2009-01-15 13:24:57 |
| 13 | 2009-01-15 13:25:02 |
| 14 | 2009-01-15 13:25:07 |
(...)
+----+---------------------+
66 rows in set (0.00 sec)
Para consultar la sintaxis en detalle podéis verlo en el manual de MySQL 5.1 sobre el scheduler.
Relacionados
Imprimir
•
One comment to “El event scheduler de MySQL 5.1”
•
26. May 2011 at 5:56 pm :
Hola! agregue esa linea al archivo de configuracion, reinicio mi maquina y de nuevo me aparece como apagado el event_scheduler, que me esta haciendo falta? gracias..