首页 > 数据库 >mysql -- 事件

mysql -- 事件

时间:2023-05-03 18:57:59浏览次数:41  
标签:salary audit -- utf8 purge 事件 mysql DEFINER

MySQL的EVENTS是用来处理计划任务的。MySQL使用称为事件调度线程的特殊线程来执行所有预定事件。默认情况下,事件调度线程是未启用(版本低于8.0.3)的状态,

如要启用它,可以执行以下命令:

> SET GLOBAL event_scheduler = ON ;

> show variables like '%event_scheduler%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | ON    |
+-----------------+-------+

假设不再需要保留一个月之前的薪水审计记录,则可以设定一个每日运行的事件,用它从salary_audit 表中删除一个月之前的记录。 purge [pɜːrdʒ] 净化

# schedule [ˈskedʒuːl] 日程安排
DROP EVENT IF EXISTS purge_salary_audit; 
DELIMITER $$
CREATE EVENT IF NOT EXISTS purge_salary_audit ON SCHEDULE 
	EVERY 1 DAY 
	STARTS CURRENT_DATE
	DO BEGIN 
		DELETE FROM salary_audit WHERE date_modified < DATE_ADD(CURDATE(),INTERVAL-30 day);
	END $$
DELIMITER ; 

查看事件:

> SHOW EVENTS\G;
*************************** 1. row ***************************
                  Db: mysql
                Name: purge_salary_audit
             Definer: root@localhost
           Time zone: SYSTEM
                Type: RECURRING
          Execute at: NULL
      Interval value: 1
      Interval field: DAY
              Starts: 2018-01-01 02:00:00
                Ends: NULL
              Status: ENABLED
          Originator: 0
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: utf8_general_ci
1 row in set (0.00 sec)

要检查事件的定义,可以执行:

> SHOW CREATE EVENT purge_salary_audit \G
***********************************1. row****************************************
						Event: event_ _delete_ _de_ records_ 7 days
					sq1_ mode: NO_ AUTO_ .CREATE_ USER, NO_ ENGINE_ SUBST
				   time_ zone : SYSTEM 
				Create Event: CREATE DEFINER=^ root^ @、localhosti E
	STARTS 2018-01-01 02:00:00' ON COMPL ETION NOT PRESERVE
URRENT_ _T IMESTAMP,INTERVAL 7 DAY )
character_ set_client: utf8 
collation_ connection: utf8_genera1_ci
   Database Collation: utf8_ genera1_ci
1 row in set (0.00sec)

要禁用/启用该事件,可以执行以下操作:

> ALTER EVENT purge_salary_audit DISABLE;
> ALTER EVENT purge_salary_audit ENABLE;

访问控制

​ 所有存储的程序(过程、函数、触发器和事件)和视图都有一个DEFINER //dɪˈfaɪnr// 。如果未指定DEFINER,则创建该对象的用户将被选为DEFINER。

​ 存储例程(包括过程和函数)和视图具有值为DEFINER或INVOKER的SQL SECURITY特性,来指定对象是在definer还是在invoker上下文中执行。触发器和事件没有SQL SECURITY特性,并且始终在definer上下文中执行。服务器根据需要自动调用这些对象,因此不存在调用用户。

标签:salary,audit,--,utf8,purge,事件,mysql,DEFINER
From: https://www.cnblogs.com/paopaoT/p/17369528.html

相关文章

  • centos修改docker容器时间
    一、在服务器上执行:date-R得到服务器当前时间date-R二、登录docker容器查询docker容器时间看docker容器时间和服务器时间是否一致:docker exec-itoracle11g/bin/bashdate-R如果不一致退出docker容器exit三、执行:docker-ps得到docker容器信息 复制dockername或者......
  • 【实变函数】07 - 微积分基本定理
    1.有界变差函数1.1有界变差函数及性质我们已经看到,单调函数有着很好的微分性质,但单调函数又过于“简单”了,更一般的函数都会有上下起伏。那要做怎样的限定才能保证函数既够“简单”又够“一般”呢?现在来讨论“起伏之和”有限的函数。记\(f(x)\)是\([a,b]\)上的有限函数,并......
  • 删除Maven仓库的.lastUpdate文件
    windows10环境构建Maven项目时经常会遇到jar包下载失败的原因,主要原因为仓库链接和网络问题。但是如果存在lastUpdate文件,就算网络好时jar也会下载失败,这时需要删除这些文件。删除这些文件的步骤:1.打开cmd命令2.进入到maven仓库所在位置3.执行命令:for/r%iin(*.lastUpdat......
  • 【实变函数】08 - 广义测度和积分
    本篇我们将对测度做更一般的讨论,以将其推广到更大的范围。1.变数变换和L-S测度1.1变数变换我们知道,测度是一个集函数,也就是子集到实数的映射。如果定义两个基本空间的映射\(\varphi:\,X_1\toX_2\),就有可能建立两个测度空间的关联。具体来说,假定\(\varphi\)建立在两......
  • 【23.05.03】好题题解
    好题题解A题目大意:计算一个项数为\(n\)的多项式除以\(x^3-x\)的余数多项式。数据范围:对于\(100\%\)的数据:\(2\leqn\leq2\times10^5\)解题分析:水题,直接多项式除法模拟即可。需要注意细节。ACCode:#include<bits/stdc++.h>usingnamespacestd;#d......
  • 【实变函数】03 - 可测函数
    上篇在\(\sigma\)-环上延拓了测度的概念,并讨论了实数轴上典型的可测集\(\mathbf{L},\mathbf{L^g},\mathbf{B}\)。这些理论精巧而有其独立性,但还需放到合适的领域里才能展现其本质和威力。\(\sigma\)-环是个普遍的代数结构,它的可列交并运算特别适用于需要级数运算的场合,这也将......
  • Linux 目录 查看 压缩 编辑 命令
    目录一、文件目录二、查看文件三、压缩与解压四、vim编辑        一、文件目录结构文件类型:/root管理员的家目录/home用户家目录/bin 命令文件目录,存放命令,管理员和用户可以使用/sbin管理员命令......
  • Docker 安装 RabbitMQ
    系统环境系统:Debian-10.2内核:Linux4.19.0-21-amd64x86_64(通过uname-r命令查看内核版本)RabbitMQ版本:rabbitmq:3.11-management安装教程访问RabbitMQ官方文档,查看官方安装教程,直接运行:dockerrun-it--rm--namerabbitmq-p5672:5672-p15672:15672rabbitmq......
  • 自定义函数实现分组统计
    1.通过自定义的函数实现分组统计: 2.自定义函数,对索引进行修改取不同产品名称的数量: ......
  • 【实变函数】04 - 基于测度的积分
    1.有限有界积分1.1积分及存在性有了前两篇的铺垫,现在可以顺理成章地定义积分的概念了。和Riemann积分一样,定义要分成两步,先是在有限定义域的有界函数上,然后使用极限法推广到一般函数上。具体来说,设\(E\)是某测度空间的有限可测集(\(\mu(E)<\infty\)),\(f(x)\)是\(E\)上的有界......