mysql事件的开启和调用

yizhihongxing

MySQL 事件是一种定期执行的操作,可以定期自动执行特定的任务,比如清除过期的数据、备份数据库等等。下面是MySQL事件的开启和调用的完整攻略。

开启事件调度器

在MySQL命令行中执行以下语句,可以开启事件调度器:

SET GLOBAL event_scheduler = ON;

也可以在MySQL配置文件中加入以下配置,实现持久化开启事件调度器:

event_scheduler=ON

创建事件

创建事件,需要使用CREATE EVENT语句,语句格式如下:

CREATE EVENT event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
DO
event_body

其中event_name是事件名称,schedule是事件执行计划,event_body是事件执行的SQL语句。

例如,创建一个每天凌晨2点自动清除过期数据的事件:

CREATE EVENT clear_expired_data
ON SCHEDULE
    EVERY 1 DAY
    STARTS '2022-12-01 02:00:00'
DO
    DELETE FROM my_table WHERE expired_date < NOW();

创建一个每小时备份数据库的事件:

CREATE EVENT backup_database
ON SCHEDULE
    EVERY 1 HOUR
DO
    BACKUP DATABASE my_database TO '/backup/my_database.backup';

查看事件列表

可以使用以下语句查看当前数据库中的所有事件:

SHOW EVENTS;

也可以使用以下语句查看指定事件的定义:

SHOW CREATE EVENT event_name;

手动执行事件

可以使用以下语句手动执行一个事件:

CALL event_name;

例如,手动执行清除过期数据的事件:

CALL clear_expired_data;

修改事件

可以使用ALTER EVENT语句修改事件的执行计划和SQL语句等属性。例如,修改备份数据库的事件为每天凌晨3点执行:

ALTER EVENT backup_database
ON SCHEDULE
    EVERY 1 DAY
    STARTS '2022-12-01 03:00:00'
DO
    BACKUP DATABASE my_database TO '/backup/my_database.backup';

删除事件

可以使用DROP EVENT语句删除指定的事件。例如,删除备份数据库的事件:

DROP EVENT IF EXISTS backup_database;

以上就是MySQL事件的开启和调用的完整攻略,不同场景下可以根据需求灵活调用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql事件的开启和调用 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • SQL 定位连续的值区间

    SQL定位连续的值区间的攻略通常使用窗口函数和自连接完成,具体步骤如下: 窗口函数生成行编号,按照要查询的列进行排序 在查询语句中使用ROW_NUMBER() OVER (ORDER BY column_name)来生成行编号,按照要查询的列进行排序,这个行编号将作为后面自连接表中的关联条件之一。 将原表自连接 将原表自连接,连接条件为行编号相差一,同时还需…

    database 2023年3月28日
    00
  • 详解Hibernate缓存与性能优化

    详解Hibernate缓存与性能优化 缓存介绍 Hibernate是一个开源的ORM框架,ORM(Object-Relational Mapping)即对象关系映射,它将Java对象和关系型数据库中的表进行映射,在此过程中Hibernate会使用到缓存。 缓存是为了提高读取数据的性能而存在的,其主要作用是把数据存储到内存中,避免频繁地从数据库中读取数据。 H…

    database 2023年5月19日
    00
  • Oracle数据库账号被锁定解决方法

    Oracle数据库账号被锁定解决方法 在使用Oracle数据库时,有时候会遇到数据库账号被锁定的情况,导致无法登录数据库。下面是解决方法。 1. 查看被锁定的账号 在Oracle数据库中,有一个系统级视图dba_users可以查看所有用户账号的信息。我们可以通过以下查询语句查看被锁定的账号: SELECT username, account_status F…

    database 2023年5月21日
    00
  • springBoot整合Redis

    准备工作    安装redis最新4.0.6或者以前版本,尽量安装在linux上,并开启服务。教程很多,不再赘述。    在JAVASE 可以使用最新Jedis 2.9.0或之前版本。与数据库连接池相同,单例实例化JedisPool,从中getSource()获取Jedis实例。    本文主旨记录,springMVC或者SpringBoot整合Redis …

    Redis 2023年4月11日
    00
  • 使用ORM新增数据在Mysql中的操作步骤

    使用ORM在Mysql中新增数据的操作步骤一般有以下几个: 定义对应表格的模型对象,通常使用对象关系映射(ORM)框架提供的工具生成。模型对象需包含表格各字段对应的属性及其对应数据类型。 创建模型对象实例(即新数据),并设置各字段的值。 执行保存操作,将新数据保存至数据库中。 下面以TypeORM为例演示具体的操作: 定义模型对象 import { Enti…

    database 2023年5月22日
    00
  • sql server连接不上怎么办 SQL Server2008R无法登录的解决方案(1814\18456)

    SQL Server连接不上的解决方案 问题描述 在使用SQL Server2008R2的过程中,有时会遇到以下问题: 连接不上SQL Server,提示连接超时或无法连接到SQL Server的错误信息。 无法登录SQL Server,提示错误代码为1814或18456。 这些错误可能让用户感到很困惑,因此我们需要详细讲解一下如何解决这些问题。 解决方案 …

    database 2023年5月21日
    00
  • MySQL与Oracle 差异比较之一数据类型

    MySQL与Oracle都是常用的关系型数据库管理系统,但是在数据类型方面存在一些差异,本文着重分析MySQL与Oracle差异的数据类型,以及应如何正确选择数据类型。 1. MySQL与Oracle的数据类型对比 MySQL与Oracle其中一些主要数据类型及其差异如下表所示: 数据类型 MySQL Oracle 整数 INT NUMBER 字符 CHAR…

    database 2023年5月21日
    00
  • Linux系统中在虚拟机上搭建DB2 pureScale的方法

    下面是详细讲解在Linux系统下如何在虚拟机上搭建DB2 pureScale的方法: 准备工作 虚拟机及操作系统的安装 首先,我们需要安装一个虚拟机来搭建DB2 pureScale系统,可以使用 Oracle VirtualBox 等虚拟机软件。接着,需要在虚拟机上安装 Linux 操作系统。 下载及安装 DB2 pureScale 软件 从 IBM 官网下…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部