如何写mysql的定时任务

发布网友

我来回答

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;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com