发布网友
共1个回答
热心网友
mysql实现定时任务是有一个时间调度器,所以首先要查看这个时间调度器是否开启。
查看的命令:
show variables like 'event_scheler'
如果没有打开,则设置打开。设置的命令是:
set global event_scheler = ON; 或set global event_scheler = 1;
确定打开事件调度器后,我们可以创建一个定时任务。
创建定时任务的语法为:
create event 定时任务名称
ON schele 定时时间
do
定时任务所要执行的sql;
example:每隔一分钟往表tt里插入一条数据
create event insert_tt
ON schele every 1 MINUTE
do
insert into tt values(1);
如果要执行多条sql则可用多个do
create event insert_tt
ON schele every 1 MINUTE
do
insert into tt values(1);
do
.......
使用命令查看所有的定时任务及其状态:
show processlist
如果要停掉某个定时任务可以使用:
alter event 定时任务名 ON
COMPLETION PRESERVE DISABLE;
example:
alter event insert_tt ON
COMPLETION PRESERVE DISABLE;
开启某个定时任务:
alter event 定时任务名称 ON
COMPLETION PRESERVE ENABLE;