Mysql 查看定时器 打开定时器 设置定时器时间

 1 1.查看是否开启evevt与开启evevt。
 2
 3 1.1、MySQL evevt功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的。
 4               show VARIABLES LIKE ‘%sche%‘;
 5 1.2、开启evevt功能
 6             SET GLOBAL event_scheduler = 1;
 7 2.创建定时器的过程
 8 2.1、创建测试表test
 9 drop table if exists test;
10 create table test
11 (
12 id int(11) not null auto_increment primary key,
13 time datetime not null
14 ) engine=innodb default charset=utf8;
15 2.2、创建evevt要调用的存储过程test_proce
16 delimiter //
17 drop procedure if exists test_proce//
18 create procedure test_proce()
19 begin
20 insert into test(time) values(now());
21 end//
22 delimiter ;
23 2.3、开启evevt(要使定时起作用,MySQL的常量GLOBAL event_scheduler必须为on或者是1)
24 执行show variables like ‘event_scheduler‘;查看evevt是否开启;
25 若没开启执行set global event_scheduler=‘on‘;
26 2.4、创建事件test_event(其作用:每隔一秒自动调用test_proce()存储过程)
27 drop event if exists test_event;
28 create event test_event
29 on schedule every 1 second
30 on completion preserve disable
31 do call test_proce();
32 2.5、开启事件test_event
33 alter event test_event on completion preserve enable;
34 2.6、关闭事件test_event
35 alter event test_event on completion preserve disable;
36 2.7、查看表test
37 select * from test;
38
39 3.查看自己创建的event
40 如果要查看更加详细的信息,你需要root用户的授权,如果是你自己的数据库你可以用下面语句查看
41 select * from  mysql.event;
42 下面的我的evevt的查看结果
43 mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
44
45 4.event的时间设置
46 设置event很简单,但是麻烦的是如何设置执行的时间,网上找了一些,自己总结了一下。
47 先看语句,如下面这个
48      CREATE EVENT test_event ON SCHEDULE EVERY 1 DAY STARTS ‘2012-09-24 00:00:00‘
49      ON COMPLETION PRESERVE ENABLE DO CALL test_procedure();
50 EVERY 后面的是时间间隔,可以选 1 second,3 minute,5 hour,9 day,1 month,1 quarter(季度),1 year
51 从2013年1月13号0点开始,每天运行一次
52 ON SCHEDULE EVERY 1 DAY STARTS ‘2013-01-13 00:00:00‘
53 从现在开始每隔九天定时执行
54 ON SCHEDULE EVERY 9 DAY STARTS NOW() ;
55 每个月的一号凌晨1 点执行
56 on schedule every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1 day),interval 1 month),interval 1 hour);
57 每个季度一号的凌晨1点执行
58 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);
59 每年1月1号凌晨1点执行
60 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);

原文地址:https://www.cnblogs.com/wang-yaz/p/9591742.html

时间: 2024-10-18 06:27:07

Mysql 查看定时器 打开定时器 设置定时器时间的相关文章

mysql查询缓存打开、设置、参数查询、性能变量意思

http://blog.sina.com.cn/s/blog_75ad10100101by7j.html http://www.cnblogs.com/zemliu/archive/2013/08/03/3234372.html 第一: query_cache_type 使用查询缓存的方式 一般,我们会把 query_cache_type 设置为 ON,默认情况下应该是ON mysql> select @@query_cache_type;+--------------------+| @@qu

MySQL查询缓存打开、设置、参数查询、性能变量

query_cache_type 使用查询缓存的方式 一般,我们会把query_cache_type 设置为 ON,默认情况下应该是ON mysql> SELECT @@query_cache_type; +--------------------+ | @@query_cache_type | +--------------------+ | ON | +--------------------+ query_cache_type有3个值 0代表关闭查询缓存OFF,1代表开启ON,2(DEMA

Spring如何动态地设置定时器的时间

本来想采用注解的方式,读配置文件来达到动态设置cron表达式,一直没能成功,改用XML方法配置 1.在spring.xml配置要执行的定时器的类,这里为com.ndasec.web.core.quartz下的MessageTimer <bean id="messageTask" class="com.ndasec.web.core.quartz.MessageTimer"></bean>  2.设置要执行的该类中的哪个方法,ref为上面bea

[转帖]在 Linux 上使用 systemd 设置定时器

在 Linux 上使用 systemd 设置定时器 https://linux.cn/article-10182-1.html 作者: Paul Brown 译者: LCTT LuMing | 2018-11-01 22:13   收藏: 1 分享: 3 学习使用 systemd 创建启动你的游戏服务器的定时器. 之前,我们看到了如何手动的.在开机与关机时.在启用某个设备时.在文件系统发生改变时 启用与禁用 systemd 服务. 定时器增加了另一种启动服务的方式,基于……时间.尽管与定时任务很

js设置定时器和清除定时器

一.前言 在前端,我们有很多功能需要用到定时器.譬如轮询,譬如定时关闭弹框,譬如实现秒表,譬如一段时间后跳转页面等等.因此,我们需要掌握定时器的用法.二.设置定时器 目前window对象提供有两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval(). 其中setInterval()的作用是:使一段代码每过指定时间就运行一次:常用于轮询. setInterval(function(){ console.log("这是一个setInterva

linux驱动之定时器的介绍和内核时间的学习

本文章摘自下面的网友: http://blog.sina.com.cn/s/blog_6e5b342e0100m87d.html 一.内核中如何记录时间 任何程序都需要时间控制,其主要目的是: 测量时间流逝和比较时间 知道当前时间 指定时间量的延时操作 为达到这个目的,应用程序使用日历时间(年月日时分秒)或者自1970年1月1日零时零分零秒到当前的秒数来度量时间的流逝,但内核中需要更加有精度的时间度量,因此内核使用时钟嘀嗒来记录时间.时钟中断发生后内核内部时间计数器增加1(即:增加1个时钟嘀嗒)

delphi中我用定时器每隔一段时间执行操作

delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!adoquery.close;adoquery.sql.cleare;adoquery.connection:=con1;adoquery.sql.add('exec addery');execsql;上面的基本语句!我的问题是:定时器执行时,在软件界面就会很卡,无法操作!请问是不是需要创建一个线程才能处理卡的问题呢?请大神们帮帮忙!非常感谢!如果是需要写线程,更希望能把线程也写出来!非常感谢! unit Unit1; interf

TCP的定时器系列 — 零窗口探测定时器

主要内容:零窗口探测定时器的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 出现以下情况时,TCP接收方的接收缓冲区将被塞满数据: 发送方的发送速度大于接收方的接收速度. 接收方的应用程序未能及时从接收缓冲区中读取数据. 当接收方的接收缓冲区满了以后,会把响应报文中的通告窗口字段置为0,从而阻止发送方的继续发送, 这就是TCP的流控制.当接收方的应用程序读取了接收缓冲区中的数据以后,接收方会发送一个ACK,通过 通告窗口字段告诉发送方自己又可

TCP/IP之坚持定时器、报活定时器

TCP中的四个定时器: 1.超时定时器(最复杂的一个) 2.坚持定时器 3.保活定时器 4.2MSL定时器 坚持定时器用于防止通告窗口为0以后c/s双方相互等待死锁的情况:而保活定时器则用于处理半开发连接: 一. 坚持定时器 坚持定时器的原理是简单的,当TCP服务器收到了客户端的0滑动窗口报文的时候,就启动一个定时器来计时,并在定时器溢出的时候向向客户端查询窗口是否已经增大,如果得到非零的窗口就重新开始发送数据,如果得到0窗口就再开一个新的定时器准备下一次查询.通过观察可以得知,TCP的坚持定时