当前位置:网站首页>MySQL事件_单次事件_定时循环事件

MySQL事件_单次事件_定时循环事件

2022-08-09 09:07:00 胡乐天

事件简介

MySQL自5.1版本引入事件,即在固定的事件,执行一件固定的事情,并且还可以决定这件事情是只执行一次,还是按照固定的间隔进行循环执行。伴随着数据库可视化软件越来越多,创建事件的方式也挺多的,在这里,介绍最常用的两种,第一种,代码方式,第二种,使用Navicat可视化方式创建。

代码方式

-- 查看定时器是否开启,OFF为关
show variables like 'event_scheduler'

-- 开启定时任务,此种方式开启后,数据库重启会自动关闭
set global event_scheduler=1



-- 创建定时任务
create event lock_rpt
	on schedule every 10 second
	do
	update rpt_template set report_status=1 where rpt_template_id in ('000','1B87483969B9431090F925E789F7C41A')
	
-- 定时任务格式
create event 事件名称
	on schedule every 间隔时间
	do
	具体执行的SQL任务语句
	
	
-- 修改定时任务
alter event lock_rpt
	on schedule every 20 second
	do
	update rpt_template set report_status=1 where rpt_template_id = '000'
	
	
-- 修改定时任务格式
alter event 事件名称
	on schedule every 间隔时间
	do
	具体执行的SQL任务语句
	
	
	
	
	
-- 查看指定事件
show events

-- 或
select * from mysql.event


-- 关闭指定事件的定时任务
alter event lock_rpt on completion preserve disable


-- 关闭定时器
set global event_scheduler = 0



*开启事件

以上打开事件,数据库重启后,事件按钮会自动关闭,如果想永久改变,参考鸡蛋(我大学室友)写的:
https://blog.csdn.net/qq_38134242/article/details/114300600?spm=1001.2014.3001.5501
中的1.2.2

可视化方式

1.使用Navicat,选中对应的数据库,右击事件,新建事件

在这里插入图片描述

2.双击该事件打开,在定义里面书写该事件需要执行的SQL

在这里插入图片描述

3.设置该事件的执行开始时间及频率,最后保存,保存的时候,要输入该事件的名称

在这里插入图片描述

4.真正存储事件的地方(MySQL数据库中的event表)

在这里插入图片描述

原网站

版权声明
本文为[胡乐天]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_44613100/article/details/114836651