MYSQL进阶学习笔记十七:MySQL定期维护!(视频序号:进阶_36)
知识点十八:MySQL定期维护(37)
一、Mysql的定时器
所谓的定时器,指的是在某个时间段去执行同样的代码。比如闹钟。每到指定的时间闹铃就会响。同样的,我们这个定时器,只要满足我们的一个定时条件,只要说我们每隔5秒,或者每隔1秒,
那么这里面每隔5秒,或者每隔1秒就是它的定时条件,只要满足这个定时条件,那么它就会去执行之前给它预定的这样一个执行代码。
二、Mysql设置定时器
mysql版本是从5.1开始才支持event的。如果你的版本低于5.1就先升级版本吧。查看版本的方法有很多:select version();
1. 查看是否开启evevt与开启evevt
MySQL evevt功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的。
show VARIABLES LIKE '%sche%';
开启evevt功能。
SET GLOBAL event_scheduler = 1;
关闭event功能:
SET GLOBAL event_scheduler = 0;
三、创建定时器
drop table if exists eventtable;
create table eventtable(
id INT NOT NULL AUTO_INCREMENT KEY,
time datetime NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8; drop PROCEDURE if exists p_event_insert;
delimiter //
CREATE PROCEDURE p_event_insert()
BEGIN
INSERT INTO eventtable(time) VALUES(now());
END
//
delimiter ;
默认数据
1、创建事件test_event(其作用:每隔一秒自动调用一段sql语句)
drop event if exists test_event;
create event test_event
on schedule every 1 second
on completion preserve disable
do call p_event_insert();
--注意:当为on completion preserve 的时候,当event到期了,event会被disable,但是该event还是会存在,
当为on completion not preserve的时候,当event到期的时候,该event会被自动删除掉。
2、开启事件test_event
alter event test_event on completion preserve enable;
3、关闭事件test_event
alter event test_event on completion preserve disable;
4、创建步骤总结:
1.现在我们要去创建一个定时器,在创建之前我们要创建这样一张表,就是定时的向这个数据库去插入一条记录,首先,选择数据库。
2.如果数据库存在这张表则删除这张表。
3.再创建这张表,这个存储过程主要是用来向这张表中去插入一条数据记录。
5.如果存在这个存储过程就删掉。
6.修改分隔符。
7.再创建这个存储过程。
8.创建好之后,把它的分隔符修改好。
9.这里面就是我们创建的存储过程,这个就是向我们的这个表中去插入一条数据记录,现在我们要创建一个定时器,这个定时器就是每隔1秒,或者每隔多少时间,
我们就去执行这个存储过程,在创建这个定时器之前,我们还是先考虑如果存在这个定时器的话我们就把它删掉。
10.创建这个定时器。
11.开启这个定时器。
12.过一段时间关闭定时器并查询结果。
--总结创建步骤 --检查表中书否存在这张表,存在则删除
drop table if exists eventtable; --创建这张表
create table eventtable(
id INT NOT NULL AUTO_INCREMENT KEY,
time datetime NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8; --检查数据库是否存在这个存储过程,存在则删除
drop PROCEDURE if exists p_event_insert; --修改分隔符
delimiter // --创建存储过程
CREATE PROCEDURE p_event_insert()
BEGIN
INSERT INTO eventtable(time) VALUES(now());
END
// --改回分隔符
delimiter ; --检查表中是否有定时器
drop event if exists test_event; --创建定时器
create event test_event
on schedule every 1 second
on completion preserve disable
do call p_event_insert(); --开启定时器
alter event test_event on completion preserve enable; --关闭定时器
alter event test_event on completion preserve disable;
创建定时器总结测试
四、定时器总结
我们这节主要讲解了对于mysql当中的定时维护,那么这个当中的定时维护主要运用了我们当中的定时器,我们的这个定时器它可以去执行一段固定的代码,
我们开启的这个命令就是通过全局变量来设置,把它的这个变量设置为1,相当于就是把它开启了,开启之后我们再去创建这个定时器,
创建这个定时器这个语法create event test_event后面加定时器的名字,
然后这里面就是固定的写法on schedule every 1 second这是需要执行的任务,这里是每隔1秒,
on completion preserve disable这段代码表示如果我现在把这个定时器停掉了,实际上可以下次再启用它,
do call test_proce();这个代表这个存储器需要执行的代码,这里面就是我们调的存储过程。
MYSQL进阶学习笔记十七:MySQL定期维护!(视频序号:进阶_36)的更多相关文章
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
 - MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
 - MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
 - Mysql数据库学习笔记之数据库索引(index)
		
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
 - SQLMAP学习笔记2 Mysql数据库注入
		
SQLMAP学习笔记2 Mysql数据库注入 注入流程 (如果网站需要登录,就要用到cookie信息,通过F12开发者工具获取cookie信息) sqlmap -u "URL" - ...
 - ref:学习笔记 UpdateXml() MYSQL显错注入
		
ref:https://www.cnblogs.com/MiWhite/p/6228491.html 学习笔记 UpdateXml() MYSQL显错注入 在学习之前,需要先了解 UpdateXml( ...
 - MYSQL数据库学习笔记1
		
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
 - 基于【 MySql 】二 || mysql详细学习笔记
		
mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...
 - (1.3)学习笔记之mysql体系结构(C/S整体架构、内存结构、物理存储结构、逻辑结构)
		
目录 1.学习笔记之mysql体系结构(C/S架构) 2.mysql整体架构 3.存储引擎 4.sql语句处理--SQL层(内存层) 5.服务器内存结构 6.mysql如何使用磁盘空间 7.mysql ...
 
随机推荐
- Codeforces Gym 100338C Important Roads 最短路+Tarjan找桥
			
原题链接:http://codeforces.com/gym/100338/attachments/download/2136/20062007-winter-petrozavodsk-camp-an ...
 - Java 浅析,生成OFD文件
			
摘要:这几天遇到个需要,需要提供用户下载电子证照,最简单的方法实现:word做了一份模板,利用网页工具转成OFD文件,http://www.yozodcs.com/page/example.html用 ...
 - spring security 单一账户多地方登陆提醒, ajax 拦截器 Interceptor
			
spring-security.xml部分代码: <http auto-config="false" > <access-denied-handler ref=& ...
 - BZOJ1006神奇的国度 弦圖染色 最大勢算法
			
@[弦圖染色, 最大勢算法] Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA 相互认识,是简洁高效的.为了巩固三角 ...
 - 用JSONObject解析和处理json数据
			
(一)jar包下载 所需jar包打包下载百度网盘地址:https://pan.baidu.com/s/1c27Uyre (二)常见场景及处理方法 1.解析简单的json字符串: 1 // 简单的jso ...
 - Cocos2d-X中Menu的综合运用
			
今天将曾经写的代码和项目集成到了一个菜单中,能够通过菜单切换到曾经做的项目 程序的project文件夹 主要代码分析: LessonMenu.h中实现创建菜单,遍历菜单通过菜单切换到各个项目 #ifn ...
 - gvim的常用编辑快捷键
			
gvim的快捷键很多,很难记全,但是入门初期应该找过几种基本的命令 下面结合自己常用到的介绍下 光标跳转: 0:行首 $:行尾 e:下一个单词的结尾 w:下一个单词的开头 b:上一个单词 H:当前页面 ...
 - 【matlab】:matlab中不断的出现计算过程怎么办
			
这个问题是会常常性出的.就是matlab中不断的出现计算. 关于这个问题,我们须要考虑的是自己是不是写错了,通常会出现以下两种可能的错误 1,关于计算的函数没有写分号 :这样的是致命问题,假设函数不写 ...
 - C#中异常处理和Java的区别
			
捕获异常,同样是try...catch...,这个完全一样: 抛出异常,同样是throw,这个完全一样: 函数抛出怎样的异常,Java中可以用throws定义,而C#中不用定义,相当于throws E ...
 - ARC forbids Objective-C objects in structs or unions
			
解决方法有二种: 1.在出错的地方加入__unsafe_unretained 2.关闭系统ARC.1.点击project 2.点击Build Setting 3.找到其以下的Objetive ...