MySQL中的事件排程器
阿新 • • 發佈:2020-07-20
事件排程器是類似linux 下的任務排程器 crontab , 將資料庫按照自定義的時間週期觸發某種操作,可以理解為事件觸發器。
適用於定期收集統計資訊,定期清理歷史資料,定期資料庫檢查(如,自動監控和恢復Slave失敗程序)
注意:在繁忙且要求效能的資料庫伺服器上要慎重部署和啟用排程器、過於複雜的處理更適合用程式設計實現、開啟和關閉事件排程器需要具有超級使用者許可權
create TABLE t14(id1 varchar(10),create_time datetime); CREATE EVENT test_event_1 on SCHEDULE EVERY 5 SECOND DO INSERTINTO 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 TRUNCATETABLE test1.t14
一分鐘後。。。
如果排程器不再使用,可以禁用(disable)或者刪除(drop)
ALTER EVENT test_event_1 DISABLE
drop EVENT test_event_1