`
vinking934296
  • 浏览: 107180 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql用event设置定时任务

阅读更多

mysql安装下载:http://downloads.mysql.com/archives/installer/

 

mysql设置定时任务:

需求:mysql数据库里面做个定时任务自动每天创建一张表。

 

1.查看是否开启event与开启event

show variables like '%sche%';  

若未开启,set global event_scheduler =1;

 

2.创建存储过程

每天创建一个名为 test_年月日的表

 

delimiter //

drop procedure if exists create_table01//

CREATE PROCEDURE create_table01()

BEGIN

declare str_date varchar(50);

SET str_date = date_format(now(),'%Y%m%d');  

 

SET @sqlcmd1 = CONCAT('CREATE TABLE test_',str_date,'(

id int(11) not null auto_increment primary key,

time datetime not null

) ;');

PREPARE p1 FROM @sqlcmd1;

EXECUTE p1;

DEALLOCATE PREPARE p1;

END//

delimiter ;

 

3.创建事件,调用存储过程

drop event if exists test_event01;

create event test_event01

on schedule every 1 DAY STARTS NOW()

do call create_table01();

 

开启事件

alter event test_event on completion preserve enable;

show tables;

查询是否建表成功

 

若是想关闭事件:

alter event test_event on completion preserve disable;

 

4.事件执行时间的设置

CREATE EVENT test_event01 ON SCHEDULE EVERY 1 DAY STARTS '2012-09-24 00:00:00'

ON COMPLETION PRESERVE ENABLE DO CALL  create_table01();

EVERY #后面的是时间间隔,可以选 1 second,3 minute,5 hour,9 day,1 month,1 quarter(季度),1 year

#从2013年1月13号0点开始,每天运行一次

ON SCHEDULE EVERY 1 DAY   STARTS '2013-01-13 00:00:00'

#从现在开始每隔九天定时执行

ON SCHEDULE EVERY 9 DAY STARTS NOW() ;

#每个月的一号凌晨1 点执行

on schedule every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1 day),interval 1 month),interval 1 hour);

#每个季度一号的凌晨1点执行

on schedule every 1 quarter starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 1 hour);

#每年1月1号凌晨1点执行

on schedule every 1 quarter starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 1 hour);

 

5.几个相关概念

存储程序:( 存储函数(stored function)+存储过程(stored procedure)+触发器(trigger)+事件(event) )

存储函数:返回一个计算结果,该结果可以用在表达式里

存储过程:不直接返回一个结果,但可以用来完成一般的运算或是生成一个结果集并传递会客户

触发器:与数据表关联,当那个数据表被 insert、delete、update语句修改时,触发器将自动执行

事件:根据时间表在预订时刻自动执行

 

 

分享到:
评论

相关推荐

    解决mysql failed to open table mysql.event

    `mysql.event`是MySQL服务器用来存储定时任务(也称为事件Scheduler)的地方,当这个表出现问题时,可能会导致定时任务无法正常执行。以下是一些详细的解决方案和相关知识点: 1. **权限问题**: - MySQL可能由于...

    MySQL数据库Event定时执行任务详解

    MySQL数据库Event定时执行任务详解是指 MySQL 数据库中使用 Event 功能来实现定时执行任务的方法。Event 是 MySQL 中的一种调度器,能够根据设定的时间间隔执行指定的 SQL 语句或存储过程。 在实际应用中,Event ...

    MySQL定时执行脚本(计划任务)命令实例

    总结来说,MySQL的定时执行脚本功能通过`EVENT`对象提供了强大的定时任务能力,允许开发者按需设置执行频率,执行各种SQL操作,包括数据更新、备份、清理等。这不仅提高了效率,也降低了系统的复杂性。通过熟练掌握...

    mysql实现设置定时任务的方法分析

    本文实例讲述了mysql实现设置定时任务的方法。分享给大家供大家参考,具体如下: 今天遇到了个需要每天定时执行的任务,在mysql数据库里面提供了这样的功能,正好整理下分享出来。 1.首先检查是否开启了定时任务 ...

    mysql中event事件使用详解.docx

    们使用MySQL的Event来定期执行这个存储过程,以实现自动备份。以下是一个创建Event的例子: ```sql CREATE EVENT IF NOT EXISTS student_bak_event ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY -- 每天执行...

    [数据库] Navicat for MySQL事件Event实现数据每日定期操作1

    总结,Navicat for MySQL的Event功能提供了一种强大且灵活的方式来自动化数据库的维护任务,包括定时数据备份、数据清理和状态更新等,极大地提高了数据库管理的效率。在设计和实现Event时,需要考虑任务的执行时机...

    mysql定时任务(event事件)实现详解

    MySQL中的定时任务,通常指的是Event事件,它是一种内置的机制,允许用户在特定时间或周期性地执行SQL语句或存储过程,而无需依赖操作系统级别的计划任务。Event事件的引入,使得数据库自身就能处理定时任务,提高了...

    mysql七天定时下架任务

    根据给定的信息,本文将详细解析一个MySQL定时任务——针对发布超过七天的岗位信息进行自动下架处理的实现方式。此任务通过MySQL数据库中的事件(Event)来定时执行一个自定义的存储过程(Stored Procedure),确保...

    mysql计划任务教程.zip_mysql下载完是个压缩包

    这篇文章可能详述了设置MySQL定时任务的具体步骤,包括如何使用CREATE EVENT语句创建事件,以及如何使用ALTER EVENT或DROP EVENT修改或删除已存在的任务。 “mysql计划任务每天定时执行.url”则可能是一个指导如何...

    Linux下如何实现Mysql定时任务

    首先,我们来看看如何在MySQL中使用Event Scheduler来创建定时任务。Event Scheduler是MySQL内置的一个功能,它允许用户在指定的时间点或者按照特定的周期执行存储过程或SQL语句。以下是使用Event Scheduler的步骤:...

    在数据库中实现定时任务-详解及实例.pdf

    MySQL通过“事件调度器”(Event Scheduler)功能支持定时任务。默认情况下,此功能可能处于关闭状态,需要手动开启。 - **查询事件调度器状态**:在MySQL命令行中执行以下命令查询事件调度器的状态: ```sql SHOW...

    详解MySQL用事件调度器Event Scheduler创建定时任务

    事件调度器相当于操作系统中的定时任务(如:Linux中的cron、Window中的计划任务),但MySql的事件调度器可以精确到秒,对于一些实时性要求较高的数据处理非常有用。 1. 创建/修改事件(EVENT) 在MySql中,创建一个新...

    mysql的定时任务实例教程

    1. **详解MySQL用事件调度器Event Scheduler创建定时任务** 2. **Linux下如何实现Mysql定时任务** 3. **Linux下Mysql定时任务备份数据的实现方法** 4. **mysql定时任务(event事件)实现详解** 5. **mysql实现设置定时...

    浅谈MySQL event 计划任务

    总的来说,MySQL Event 是一个强大且灵活的工具,用于计划和执行数据库级别的定时任务。了解和掌握其用法,可以帮助开发者更有效地管理数据库,优化工作流程。希望本文提供的信息对您有所帮助,更多关于MySQL Event...

Global site tag (gtag.js) - Google Analytics