您的位置:首页 > 数据库 > MySQL

mysql定时执行任务

2016-04-01 00:00 615 查看
一、查看事件调度器是否开启

SHOW VARIABLES LIKE 'event_scheduler';


如果显示OFF,修改配置文件,让mysql服务启动的时候开启时间,只需要在my.ini配置文件的[mysqld]部分加上event_scheduler=ON 即可

二、创建事件

1、语法

CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;

schedule:
AT TIMESTAMP [+ INTERVAL INTERVAL]
| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

INTERVAL:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}


2、参数说明

(1)、DEFINER: 定义事件执行的时候检查权限的用户。

(2)、ON SCHEDULE schedule: 定义执行的时间和时间间隔。

(3)、ON COMPLETION [NOT] PRESERVE: 定义事件是一次执行还是永久执行,默认为一次执行,即NOT PRESERVE。

(4)、ENABLE | DISABLE | DISABLE ON SLAVE: 定义事件创建以后是开启还是关闭,以及在从上关闭。如果是从服务器自动同步主上的创建事件的语句的话,会自动加上DISABLE ON SLAVE。

(5)、COMMENT 'comment': 定义事件的注释。

3、创建实例

创建如下表

CREATE TABLE aaa (timeline TIMESTAMP);

每天定时清空test表

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
DO TRUNCATE TABLE test.aaa;


参考资料:mysql定时执行任务 http://www.studyofnet.com/news/1185.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql