VARIABLES
LIKE
'event_scheduler'
如果返回的是off表示当前是关闭状态,如果是on当前已经开启了计划任务。
在mysql程序的目录下找到my.ini文件,添加一个项:event_scheduler
=
1
保存后重启mysql服务即可,重启服务可以在服务管理里面找到
也可以用脚本来实现:
mysql
event_scheduler
开启event_scheduler
sql指令:
SET
GLOBAL
event_scheduler
=
ON
SET
@@global.event_scheduler
=
ON
SET
GLOBAL
event_scheduler
=
1
SET
@@global.event_scheduler
=
1
相反,关闭event_scheduler指令:
SET
GLOBAL
event_scheduler
=
OFF
SET
@@global.event_scheduler
=
OFF
SET
GLOBAL
event_scheduler
=
0
SET
@@global.event_scheduler
=
0
使用navicat工具连接mysql数据库,这里以navicat for Mysql工具为例。如果数据库在本机,那么连接ip处写localhost即可,如果数据库在其他机器,那需要写具体的ip地址。设置mysql备份文件的存储路径。新建连接页面,设置连接信息的右侧有个高级按钮,点击,进入高级设置页面,然后设置保存路径。如果已连接的要打开这个高级页面的话,右键点击连接,点连接属性。
然后在navicat中点击上方的计划按钮,再点击下方的新建批处理作业按钮。
进入批处理作业页面后,在左侧数据库处选择想要备份的数据库,单击,该数据库就会出现在右侧可用任务中。
然后在可用任务中单击该任务,点击中间的选择按钮,该任务就会到已选择的任务中,也可在可用任务中双击该任务,也会到已选择的任务中。
然后点击上方的保存按钮,输入想要设置的文件名,点击确定。
然后该任务就会出现在计划列表中。
选中该计划,点击设置计划任务,d出框点击计划按钮。
点击新建按钮,然后设置想要自动备份的周期以及开始时间,然后点击应用。
然后会d出设置账户信息对话框,这里我们输入当前计算机的账户密码就ok啦。
到这里任务创建完毕,到时见后,就会自动执行备份,我这里设置的是每个月1号的9:00执行备份任务。
查看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则就搞定了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)