mysql定时任务

阅读数:92 评论数:0

跳转到新版页面

分类

数据库

正文

一、存储过程

use test; 
delimiter //
create procedure test_proce()
begin
UPDATE df_goods_sku set `status` = 0  where `status`=1 and down_time < now();
end//
delimiter ;

1、解释

(1)use test;表示使用某个数据库

(2)delimiter // 将mysql中以分号结尾的规定修改为以双斜杠为语句结束符,因为存储过程里可以有多条语句。

2、删除存储过程

drop procedure test_proce;

3、查看存储过程

show create procedure proc_name;

二、定时任务

1、查看当前是否已开启事件计划(调度器)的三种方法:

SHOW VARIABLES LIKE 'event_scheduler';

SELECT @@event_scheduler;

SHOW PROCESSLIST;

2、开启的四种方法

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;

SET GLOBAL event_scheduler = ON;

SET @@global.event_scheduler = ON;

以上的改法在数据库得启后将恢复原来的状态,要想重启后也生效,需要在my.ini的配置。

`[mysqld]event_scheduler=ON //这一行加入mysqld标签下`

3、创建定时任务

create event test_proce
on schedule every 10 second
on completion preserve disable
do call down_goods();

(1)on completion preserve disable

表示创建后并不开始生效。

(2)do call down_goods()

表示调用创建的存储过程。

4、查看定时任务event

SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;
或者
SHOW CREATE EVENT event_name;

5、开启或关闭创建好的event

alter event test_proce on completion preserve enable; //开启定时任务
alter event test_proce on completion preserve disable;//关闭定时任务

6、常见周期规则

(1)周期执行 every (second|minute|hour|day|week|quarter|month|year)

on schedule every 1 second //每秒执行1次
on schedule every 2 minute //每两分钟执行1次
on schedule every 3 day //每3天执行1次

(2)在某个时间点执行 at

on schedule at current_timestamp()+interval 5 day //5天后执行
on schedule at current_timestamp()+interval 10 minute //10分钟后执行
on schedule at '2016-10-01 21:50:00' //在2016年10月1日,晚上9点50执行

(3)在某个时间段执行starts ends

on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month //5天后开始每天都执行执行到下个月底

on schedule every 1 day ends current_timestamp()+interval 5 day //从现在起每天执行,执行5天

7、删除

drop event if exists test_proce




相关推荐

Centos7的yum源中没有mysql,为了解决这个问题,我们需要先下载mysql的repo源。 一、下载mysql的repo源并安装 wget http://repo.mysql.com/mysq

备份的类型 1、根据是否需要数据库离线 (1)冷备: 需要关mysql服务,请写请求均不允许 (2)温备: 服务在线,但仅支持读请求。 <p

如果主库已经投入使用了,此时如果需要主从同步,需要导出所表结构和数据,然后导入到从库中。这时需要注意修改/var/lib/mysql/auto.cnf中uuid。 master配

一、事务的ACID 1、Atomicity原子性 Transactions are often composed of multiple statements. Atomicity guarantee

一、登录mysql mysql --version -查看Mysql版本 mysql -h hostname -u username -p -h:运行mysql服务器的机器,如果正在该机器上运行此命令

mysql的权限分为4级:全局、数据库、表、列。 1、grant grant privileges [

insert [into] table [(column1,column2,column3,...)] values (val

一、语法 select [optioins] items [into file_details] from tables [where conditions] [group by gr

一、语法 update [low_priority] [ignore] tablename set column1=expression1,... [where condition] [order b

一、语法 1、基本语法 alter table [ignore] tablename alteration [,alteration...] (1)ignore,如果会导致唯一键重复,则这些操作将自动