MySQL中的事件调度器

事件调度器是类似linux 下的任务调度器 crontab , 将数据库按照自定义的时间周期触发某种操作,可以理解为事件触发器。

适用于定期收集统计信息,定期清理历史数据,定期数据库检查(如,自动监控和恢复Slave失败进程)

注意:在繁忙且要求性能的数据库服务器上要慎重部署和启用调度器、过于复杂的处理更适合用程序设计实现、开启和关闭事件调度器需要具有超级用户权限

create TABLE t14(id1 varchar(10),create_time datetime);
CREATE EVENT test_event_1 on SCHEDULE EVERY 5 SECOND DO INSERT INTO test1.t14(id1,create_time) VALUES('test',now());

 

 

SHOW EVENTS   --查看调度器状态

SELECT * FROM t14

show VARIABLES LIKE '%scheduler%'       -- 查看事件调度器状态

 

 打开调度器,同时 show processlist 发现新产生一个后台进程:

show PROCESSLIST

 

 

新建一个调度器,每隔1分钟清空表 t14

CREATE EVENT trunc_test ON SCHEDULE EVERY 1 MINUTE DO TRUNCATE TABLE test1.t14

 

 

一分钟后。。。

 

如果调度器不再使用,可以禁用(disable)或者删除(drop)

ALTER EVENT test_event_1 DISABLE
drop EVENT test_event_1

 

 

 

posted @ 2020-07-20 20:50  别看窗外的世界  阅读(240)  评论(0编辑  收藏  举报