> 데이터 베이스 > MySQL 튜토리얼 > mysql如何定时执行_MySQL

mysql如何定时执行_MySQL

WBOY
풀어 주다: 2016-06-01 13:43:40
원래의
1279명이 탐색했습니다.

bitsCN.com 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; bitsCN.com

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿