建站资讯

Mysql中的定时执行每日任务

作者:admin 发布时间:2021-03-29
Mysql中的定时执行每日任务 今年4月23日 3:26 阅读文章(1,027) 评价关掉

一、表明 后台管理周期时间定时执行每日任务能够有多种多样处理计划方案,我孰知道的大约有下列几类: 后台管理架构内置定时执行每日任务。例如php中的Laravel架构里有出示定时执行每日任务实际操作插口,别的的架构大伙儿能够独立对于

一、表明

后台管理周期时间定时执行每日任务能够有多种多样处理计划方案,我孰知道的大约有下列几类:

后台管理架构内置定时执行每日任务。例如php中的Laravel架构里有出示定时执行每日任务实际操作插口,别的的架构大伙儿能够独立对于掌握。

网络服务器实际操作系统软件方面的定时执行。一般大家的网络服务器关键根据几大服务平台,一个windows server,它的定时执行每日任务系统软件有出示的。Linux下也是有,一般时兴的是crontab专用工具完成的(想想解这儿有一个视頻实例教程),可是crontab的定时执行每日任务一般定时执行实际操作脚本制作那样的文档,而立即定时执行实际操作数据信息库的就较为不便了。可是也是有处理方法,便是在网络服务器端写一个get恳求url,在后台管理里进行要定时执行进行的数据信息库实际操作,那样大家要是完成定时执行浏览该插口就可以了了,Linux下的curl指令能够很便捷传出get恳求,大家要是写个包括浏览该插口的脚本制作,再融合crontab便可以进行后台管理数据信息的定时执行升级实际操作了。


可是终究写个插口安全性性并不是太高,而大伙儿用的假如是mysql数据信息库,那么就恰好能够运用其内置的定时执行实际操作了,下边简易详细介绍mysql定时执行实际操作的应用。


留意:之上的改法在数据信息库重新启动后可能修复为原先情况,要想数据信息库重新启动后还可以让event_scheduler打开,则必须在配备文档my.ini的设定。改动以下,随后重新启动mysql服务就可以。


储存全过程?当我们听见这一词的情况下,认为它是mysql储存数据信息的一个步骤而并不是一个名词,可是当我们在网上掌握时,才了解这一词是汉语翻译回来的,原生态词为Procedure,具体上它的含意便是非常于大家朝向目标里的方式或是说成涵数,在它里边能够进行好几个sql句子的实际操作,而且能够界定主要参数传值等,与一一样的一条sql句子的差别关键在这里里。


use test;
delimiter //
create procedure test_proce()
begin
insert into weuse(name,created_at,updated_at) values( hello ,now(),now());
end//
delimiter ;

use test; 这一谁都了解,应用某一数据信息库,这儿要好调的是储存全过程一定是针对某一数据信息库来讲的,因此务必应选中一数量据库才可以建立取得成功。


delimiter // 这一是将mysql中以;(分号)末尾的要求改动为以//(双斜杠)为句子完毕符,由于储存全过程里能够有好几条sql 句子,里边的sql句子都以;号末尾,假如回车键了那麼系统软件会作为sql句子立即实行了,大家期待的是先界定这一系列产品sql句子而先不实行,因此要改下实际操作完毕符。自然你一直在改后一定要改回家,大伙儿能看到最终一行有相匹配的改动回家的句子。


下边的是一起键入的,能够了解各自是建立储存全过程test_proce(),名字能够随意起的,随后是在begin –end中间是界定一系列产品sql句子的便可以了,记牢最终end末尾要以以前改动后的末尾符完毕。


create procedure test_proce()
begin
insert into weuse(name,created_at,updated_at) values( hello ,now(),now());
end//

上边建立储存全过程具体上是为定时执行每日任务做铺垫的,由于上边只表明了如何建立储存全过程,可是未表明如何启用,那这儿就采用了启用储存全过程了。

建立定时执行每日任务event(恶性事件)
create event second_event
on schedule every 1 seconddo call test_proce();

第四行do call test_proce()是该event(恶性事件)的实际操作內容,表明启用大家不久建立的test_proce()储存全过程。


SELECT event_name,event_definition,interval_value,interval_field,rmation_schema.EVENTS;

enter image description hereenter image description here

4、打开早已建立好的event(恶性事件)
alter event pletion preserve enable;//打开定时执行每日任务
alter event pletion preserve disable;//关掉定时执行每日任务

当我们们用第一句指令打开定时执行每日任务时,能够便可以查询数据信息库状况,早已完成了每秒钟钟实行一次了,如图所示。


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

on schedule at current_timestamp()+interval 5 day //五天后实行
on schedule at current_timestamp()+interval 10 minute //10分鐘后实行
on schedule at :00 //在2017年十月2日,夜里9点50实行

on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month //五天后刚开始每日都实行实行到下一个月末
on schedule every 1 day ends current_timestamp()+interval 5 day //从如今起每日实行,实行五天

是官方网强烈推荐的完全免费可视性化mysql实际操作专用工具,便捷模型,ER图实际操作,经发了现仿佛只有可视性化实际操作储存全过程(也将会是自身没寻找)


SELECT * rmation_schema.EVENTS;//查询全部恶性事件特性
SELECT event_name,event_definition,interval_value,interval_field,rmation_schema.EVENTS;//查询关键好多个特性

enter image description hereenter image description here

Navicat

这一是收费标准的手机软件,可是可视性化实际操作较为轻量,作用也许多,它能够可视性化实际操作储存全过程和Event恶性事件,详尽实际操作大伙儿能够自身探求啊!!

enter image description here

 

来源于于:2016/03/27/Mysql_schedule/

即便仅仅凡世中一颗小小的的浮尘,运势还要由自身修罗神,像向日葵般,迎春阳光、英勇绽放


收缩