mysql如何定时执行

来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:34 点击:
5.1版本以后,MYSQL支持定时执行(event)的功能,就跟linux的crontab差不多。
 
先查看一下你的MSYQL版本,查询版本信息的SQL语句:
 
select VERSION()
确定版本支持之后,再查看一下event是否开启:
 
show variables like ’%sche%’;
如果未开启,那如何开启呢?
 
show VARIABLES LIKE ’%sche%’;
set global event_scheduler =1;
show VARIABLES LIKE ’%sche%’;
一般定时执行有2种:
 
1、从具体一个时间点开始,每隔一段时间执行一次;
 
从现在开始,每30秒执行一次
 
create event if not exists e_test
on schedule every 30 second starts now()
on completion preserve
do
INSERT into sdb_yoyi (yoyiscid,orderid) VALUES(2,3)
2、从具体一个时间点开始,在当日的某个时间点进行执行;
 
每个月的一号凌晨1点执行
 
create event if not exists e_test2
 
on schedule every 1 month starts DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR)
 
on completion preserve
 
do
 
INSERT into sdb_yoyi (yoyiscid,orderid) VALUES(2,3)
 
 
 
也可以对事件任务进行关闭:
 
alter event e_test ON
 
COMPLETION PRESERVE DISABLE;
 
对已经关闭的事件任务进行开启:
 
alter event e_test ON
 
COMPLETION PRESERVE ENABLE;
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • mysql-mmm
    • mysqldump命令——MySQL数据库备份还原
    • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
    • 简简单单储存过程——循环一个select结果集
    • MySQL数据库十大优化技巧
    • Mysql安装笔记
    • Mysql主主复制架构配置
    • Mysql的Procedure 参数为NULL问题分析
    • MySQL Stmt预处理提高效率问题的小研究
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1