欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

Mysql 事件调度器详解(Event Scheduler)

发布时间:2024/1/1 数据库 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Mysql 事件调度器详解(Event Scheduler) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 1 概述
  • 2 语法
    • 2.1 创建
    • 2.2 查询、修改、删除

1 概述

1. 事件调度器(Event Scheduler):说白了,就是 '定时任务'2. 前提:event_scheduler 已开启 -- 以下任意一种皆可set global event_scheduler = 1;set global event_scheduler = ON;查看:event_scheduler 是否已开启select @@event_scheduler;show variables like 'event_scheduler';

2 语法

2.1 创建

常用: create event 事件名称 on scheduler 调度时间[comment '注释'] do 具体执行的内容;完整: create [definer = user | current_user] -- event 所属用户,默认 current_user event [if not exists] 事件名称 -- 若存在,则不执行,默认 已存在,则报错 on schedule 调度时间[on completion [not] preserve] -- 执行完成后是否保留,默认 不保留 not[enable | disable on slave] -- 创建后是否立即执行,默认 是 enable[comment '注释'] do 具体执行的内容;调度时间:at timestamp [+ interval interval_value] -- 单次执行[every interval_value] -- 重复执行[starts timestamp [+ interval interval_value]] -- 开始时间[ends timestamp [+ interval interval_value]] -- 结束时间interval_value:year 年、month 月、day 日、quarter 季度、week 周hour 时、minute 分、second 秒year_month、day_hour、day_minth、day_second 等如: 1.30 minute_second = 130

示例:每 分钟向 stu_info 表中插入一条记录

create table stu_info (sno int unsigned auto_increment,create_date datetime,primary key(sno) ); delimiter $$ create event event_stu_info on schedule every 1 minuteends now() + interval 5 minutecomment '每分钟插入一条记录,间隔 5 分钟' dobegininsert into stu_info(create_date) values(now());end $$ delimiter ;

2.2 查询、修改、删除

1. 查询(1) show events;(2) select * from information_schema.events; -- 日志记录2. 修改(1) alter event <event_name> disable;-- 和创建语法一样(2) alter event <old.event> rename to <new.event>; -- 事件重命名3. 删除(1) drop event <event_name>; -- 直接删除事件

总结

以上是生活随笔为你收集整理的Mysql 事件调度器详解(Event Scheduler)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。