Mysql定时清空表

1.设置开启event scheduler

SET GLOBAL event_scheduler=1;

2.验证event_scheduler是否已经开启

  1. show variables like ‘%event%‘; #值为 ON 表明已开启
  2. SHOW VARIABLES LIKE ‘event_scheduler‘;

3.创建event

DROP EVENT IF EXISTS e_delete_upvote; CREATE  EVENT e_delete_upvote    ON SCHEDULE EVERY 1 day STARTS DATE_ADD(current_date(),INTERVAL 1 DAY) ON COMPLETION PRESERVE ENABLE DO TRUNCATE TABLE dreamland.upvote; #说明: ON SCHEDULE EVERY 1 day 指定循环间隔为每天执行 STARTS date_add(concat(current_date(), ‘ 23:59:00‘), interval 0 second) 指定运行时间为23:59:00 ON COMPLETION PRESERVE ENABLE 指定创建完成后即启用,否则需手动启动

4.手动关闭事件

ALTER EVENT e_delete_upvote DISABLE;

5.手动该事件为可用

ALTER EVENT e_delete_upvote ENABLE;

6.查看已有的定时事件任务

SHOW EVENTS;

7.删除事件

DROP EVENT e_delete_upvote;

注意:真实的开发环境中,会遇到mysql服务重启或者断电的情况,此时则会出现事件调度器被关闭的情况,所有事件都不在起作用,要想解决这个办法,则需要在mysql.ini文件中加入event_scheduler = ON; 的语句

--------------------- 本文来自 坏菠萝 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/abcwanglinyong/article/details/79986023?utm_source=copy

原文地址:https://www.cnblogs.com/xiaoliu66007/p/9709149.html

时间: 2024-11-13 13:53:50

Mysql定时清空表的相关文章

mysql 之 清空表中数据

清空表的时候注意外键约束 命令版 查询数据库中所有表名select table_name from information_schema.tables where table_schema='DB_name' and table_type='base table'; 查询指定数据库中指定表的所有字段名column_nameselect column_name from information_schema.columns where table_schema='DB_name' and tabl

MYSQL定时创建表分区

一.存储过程-表分区-----------------------------------------------------------------需求: 每月创建一个分区 分区名名称格式:p201201,p201202……------------------------------------------ 1 CREATE DEFINER = `root`@`%` PROCEDURE `Auto_Create_Partition`(IN `databaseName` varchar(50),

Mysql清空表(truncate)与删除表中数据(delete)的区别

近日在做一个区块链积分转代币的APP,牵涉到数据库中表的记录删除问题, 如果一条条删除那可真是累人.遂考虑直接进入mysql直接清空表或者删除表中数据. 本文记录一下这2种操作模式的区别,目标对象是表wp_comments,里面的所有留言均是垃圾留言,均可删除.然后便有了以下2种方式(进入mysql操作界面后): truncate table wp_comments; delete * from wp_comments; 其中truncate操作中的table可以省略,delete操作中的*可以

mysql 怎样清空一个数据库中的所有表

转自:http://blog.csdn.net/zhangzhizhen1988/article/details/8432146 MySQL清空表是很重要的操作,也是最常见的操作之一,下面就为您详细介绍Mysql清空表的实现方法,希望能够对您有所帮助. 方法1:重建库和表 一.只导出表结构 导出整个数据库结构(不包含数据) mysqldump -h localhost -uroot -p123456  -d database > dump.sql 导出单个数据表结构(不包含数据) mysqldu

mysql清空表数据后如何让自增ID仍从1开始

mysql清空表数据后如何让自增ID仍从1开始?也就是说如何重排auto_increment 清空表时使用truncate命令,而不用delete命令 mysql> truncate test; 使用truncate命令的好处: 1).速度快 2).可以对自增ID进行重排,使自增ID仍从1开始计算   原文地址:https://www.cnblogs.com/superboblogs/p/9445318.html

mysql清空表数据

note:生产环境中需要数据库有脏数据,需要清空表数据并保留数据结构. 步骤: 借助工具SQLyog 一.导出数据库结构 导出test.sql 二.进入数据库执行drop 三.导入表结构 结果展示:清空了表数据,但是表结构没变化.

MYSQL 清空表和截断表

清空表:delete from users: 清空表只是清空表中的逻辑数据,但是物理数据不清除,如主键值.索引等不被清除,还是原来的值. 截断表:truncate table users: 截断表可以用于删除表中 的所有数据.截断表命令还会回收所有索引的分配页.截断表的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快. delete(删除)一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志:而truncate (截断)表则回收整个数据页,只记录很少的日志项

mysql清空表中数据

在一些业务操作的时候需要清空表中的数据,留下拥有表结构的空表 这个时候就需要清空表数据 两种方式:1       truncate table table_name;2       delete * from table_name;truncate操作中的table可以省略 truncate.delete 清空表数据的区别 :1  truncate 是整体删除 (速度较快),delete是逐条删除 (速度较慢)2  truncate 不写服务器 log,delete 写服务器 log,也就是 t

MySQL定时执行脚本(计划任务)命令实例

1 在mysql中我们可以直接进行一些参数设置让它成定时为我们执行一些任务了,这个虽然可以使用windows或者linux中的计划任务实现,但是mysql本身也能完成 2 3 查看event是否开启 4 复制代码 代码如下: 5 6 show variables like '%sche%'; 7 将事件计划开启 8 复制代码 代码如下: 9 set global event_scheduler =1; 10 11 12 创建存储过程test 13 14 复制代码 代码如下: 15 16 CREA