时间:2021-07-01 10:21:17 帮助过:22人阅读
SET GLOBAL event_scheduler = 1;==>开启了event
设置event_scheduler一直为ON
在my.cnf或者my.ini中加上event_scheduler=1或mysqld ... --event_scheduler=1
DROP EVENT IF EXISTS event_name;==>但当一个事件正在运行中时,删除该事件不会导致事件停止,事件会执行到完毕为止。
使用event时,注意在主库上开启定时器,从库上关闭定时器,event触发所有操作均会记录binlog进行主从同步,从库上开启定时器很可能造成卡库。切换主库后之后记得将新主库上的定时器打开。
CREATE EVENT [IFNOT EXISTS] event_name
ON SCHEDULE schedule // AT TIMESTAMP [+ INTERVAL INTERVAL] | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP] INTERVAL 5
DAY 5天后
ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT ‘comment‘]
DO sql_statement;
//每分钟
DELIMITER //
CREATE event inserttable
ON SCHEDULE EVERY 1 MINUTE
DO INSERT INTO test VALUES(CURRENT_TIMESTAMP)
//
DELIMITER ;
//每天指定时间
DELIMITER //
CREATE event inserttable
ON SCHEDULE EVERY 1 DAY STARTS ‘2012-09-26 14:55:00‘
DO INSERT INTO test VALUES(CURRENT_TIMESTAMP)
//
DELIMITER ;
ALTER EVENT inserttable DISABLE;==>暂时停止
SHOW PROCESSLIST;==>查看id
SHOW EVENTS;==>查看信息
SELECT * FROM mysql.event;==>查看详细信息
ALTER event inserttable ON SCHEDULE EVERY 1 DAY STARTS ‘2012-09-26 15:19:00‘;==>修改
实际案例:
每个月的一号凌晨1 点执行:
CREATE EVENT NOT EXISTS STAT
ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR)
ON COMPLETION PRESERVE ENABLE
DO
BEGIN
多个语句
END
本文出自 “蓝色的天空” 博客,请务必保留此出处http://shurk.blog.51cto.com/1134443/1746306
Mariadb/Mysql event使用大全
标签:记录 定时器