查看的命令:
show variables like 'event_scheduler'
如果没有打开,则设置打开。设置的命令是:
set global event_scheduler = ON或set global event_scheduler = 1
确定打开事件调度器后,我们可以创建一个定时任务。
创建定时任务的语法为:
create event 定时任务名称
ON schedule 定时时间
do
定时任务所要执行的sql
example:每隔一分钟往表tt里插入一条数据
create event insert_tt
ON schedule every 1 MINUTE
do
insert into tt values(1)
如果要执行多条sql则可用多个do
create event insert_tt
ON schedule 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
查看event是否开启代码如下
show
variables
like
'%sche%'
将事件计划开启
代码如下
set
global
event_scheduler
=1
创建存储过程test
代码如下
CREATE
PROCEDURE
test
()
BEGIN
update
examinfo
SET
endtime
=
now()
WHERE
id
=
14
END
创建event
e_test
代码如下
create
event
if
not
exists
e_test
on
schedule
every
30
second
on
completion
preserve
do
call
test()
每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去.
关闭事件任务
代码如下
alter
event
e_test
ON
COMPLETION
PRESERVE
DISABLE
开户事件任务
代码如下
alter
event
e_test
ON
COMPLETION
PRESERVE
ENABLE
以上测试均成功,测试环境为mysql
5.4.2-beta-community
mysql
community
server(GPL)
以上的相关内容就是对MySQL定时执行的介绍,望你能有所收获。
mysql
计划任务重启后消失
我们只要修改一配置即可
event_scheduler在mysql的config中设置为OFF有关。去mysql中将配置改为ON则就搞定了。
1打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。
2
双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。
3
点击保存,d出个命名对话框,给这个任务取个名字,点击“确定”。
4
点击“设置”计划任务。
5
d出的对话框,选择“计划”,再点击“新建”。
6
这里设置为从2014年1月24号起每天早上九点备份该数据库。如果你想提高备份频率、或者设置备份截止日期,请点击“高级”。
7
高级选项可以把备份设置的更精细,比如这里设置的是在24小时内每隔2小时就备份一次。加上前面的基本设置,任务计划就是:从2014年1月24号开始,每天九点,每隔2小时备份一次,每天的备份都持续24小时。
8
最后,输入电脑密码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)