首页
学习
活动
专区
圈层
工具
发布

mysql数据库定时删除数据

方法有多种,如通过脚本去定期执行SQL、使用mysql自带的删除策略,windows、linux 的定时任务就不记录了,就是通过脚本定时去调用mysql执行sql。...本文仅介绍推荐的MYSQL删除策略 自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等...更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次。...second do delete from operator_record_log where create_date < DATE_SUB(CURDATE(),INTERVAL 30 DAY); 例如:指定时间将表清空...operator_record_log; 3、关闭事件 alter event event_name disable; 4、开启事件 alter event event_name enable; 5、删除事件

3.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    定时删除过期数据(MySQL数据表)

    需求: Mysql用户信息表,每隔15天进行一次清理,只保留15天内的用户数据 1.表结构 class UserInfo(db.Model): __tablename__ = '用户信息表'...1; 或可以在配置my.cnf文件 中加上 event_scheduler = 1 3.查看是否开启事件调度 SHOW VARIABLES LIKE 'event_scheduler'; 4 创建每天删除...创建存储过程 mysql> delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义) mysql> CREATE PROCEDURE `del_data_count`(IN...TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(unix_timestamp(create_time),'%Y%m%d'))) >=date_inter -> END$$ mysql...> delimiter ;  #将语句的结束符号恢复为分号 6 查看已有定时事件任务 SHOW EVENTS; 7.事件的开启与关闭 开启某事件: ALTER EVENT del_tbl_expired_data

    5.9K21

    mysql定时备份任务

    简介 在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。...假如你需要在每天晚上8点整执行定时任务,那么可以这么写 0 8 * * * [command] 扩展: crontab -l 可以查看自己的定时任务 crontab -r 删除当前用户的所有定时任务...在系统中自定义了个变量mysqldump_date,给备份和压缩命令使用 gzip 为压缩命令,默认压缩了之后会把源文件删除,压缩成.gz文件 find ......这行命令的意思为,查询 /var/backups/mysql/目录下,创建时间15天之前(-mtime +15),文件名后缀为.sql的所有文件 执行删除命令-exec rm -f {} \;。...总的意思就是:mysql的备份文件只保留15天之内的。15天之前的都删除掉。 数据恢复 若一不小心你执行drop database,稳住,淡定。我们首先要创建数据库被删除的数据库。

    2.9K20

    MySQL定时备份方案

    本片文章介绍的方案是利用Linux自身的crontab定时任务功能,定时执行备份数据库的脚本。...dump_mysql.sh 给脚本赋予可执行权限 chmod +x dump_mysql.sh, 执行后脚本变绿了就是可实行文件 执行方法:..../加脚本名称 chmod命令参数含义-- + 代表添加某些权限 x 代表可执行权限 定时任务crontab crontab是Linux自带的一个定时任务功能,我们可以利用它每天凌晨执行一次dump_mysql.sh...crontab用法: crontab -l 查看定时任务列表 crontab -e 编辑(新增/删除)定时任务 运行crontab -e命令,打开一个可编辑的文本,输入00 01 * * * /app/...内容解释: 00 01 * * * /app/dump_mysql.sh 分两部分看, 第一部分00 01 * * * 是定时任务的周期,第二部分/app/dump_mysql.sh到时间做的事情。

    2.7K10

    运用惰性删除和定时删除实现可过期的localStorage缓存

    惰性删除 惰性删除是指,某个键值过期后,该键值不会被马上删除,而是等到下次被使用的时候,才会被检查到过期,此时才能得到删除。...定时删除 定时删除是指,每隔一段时间执行一次删除操作,并通过限制删除操作执行的次数和频率,来减少删除操作对CPU的长期占用。...另一方面定时删除也有效的减少了因惰性删除带来的对localStorage空间的浪费。 每隔一秒执行一次定时删除,操作如下: 随机测试20个设置了过期时间的key。 删除所有发现的已过期的key。...若删除的key超过5个则重复步骤1,直至重复500次。...== ) { break; } checkCount++; } } //每隔一秒执行一次定时删除

    1.9K40

    Linux定时删除日志的简单实现方法

    超过一定时间的日志就没有了参考的价值,也会占用空间,所以一般的项目都会删除日志。本篇文章的需求是删除 7 天之前的日志,大致分为两步,一是删除日志的命令,二是设置定时任务。...删除指定时间的日志 首先是查找所有 7 天前的日志,使用 find 查找的时候加上 -mtime 参数,其含义为 查找在指定时间曾被更改过的文件或目录,单位以24小时计算。...编辑定时任务,执行 crontab -e 将删除日志命令追加到末尾 ,设定为每分钟执行一次。...,没有手动删除,日志已经被自动删除了。...当然不需要每分钟来执行一次,将时间设定为每天 1 点的时间,最终定时任务以及删除日志命令如下 0 1 * * * find you/path -mtime +7 -name '*.log' -exec

    3.2K10

    Linux中如何批量删除和定时备份?

    --vivo Linux中实用的文件删除和备份脚本 在实际工作中,避免不了需要批量删除某一些文件,或者备份一些文件,所以这就交给脚本完成就好,但是使用中一定要谨慎使用。...删除文件 首先准备好你要删除的文件目录到一个list.txt中 例如: ls -1 > list.txt 这个命令会将当前目录下的文件和目录名(不包括子目录)输出到 list.txt 文件中。...[ -f " rm "$line" 会删除指定的文件。 echo " 另外,对于文件删除操作,一定要小心,因为删除的文件无法恢复。对于需要删除的文件,最好先确认一下,避免误删。...当删除文件发生错误时,我们打印出错误信息。删除文件操作要特别小心,先在一些不重要的文件上测试。确认没有问题后,再在你要删除的文件上执行。...要定时执行这个脚本,你依然需要使用 cron 任务。

    3.2K10

    mysql删除主键和删除索引(含删除unique索引)

    mysql删除主键和删除索引(含删除unique索引) ##删除表 DROP TABLE config_back; ##删除主键 ALTER TABLE config_back DROP PRIMARY...update_op` varchar(50) DEFAULT NULL COMMENT '修改人', `is_delete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除...0未删除 1已删除', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='配置表备份表...' 在MySQL中移除主键有以下几种不同的实现方法: 使用ALTER TABLE语句移除主键约束: ALTER TABLE 表名 DROP PRIMARY KEY; 这种方法适用于需要移除表中已有主键的情况...ALTER TABLE config_back DROP PRIMARY KEY, ADD UNIQUE KEY (`price_end`); ##删除索引(含删除unique索引) ALTER TABLE

    5.7K10

    删除mysql日志文件

    的日志文件占据了大部分空间 , 整整27G,于是现在的任务就是清理mysql的日志文件(主要是清理.log文件和mysql-bin.00000X二进制日志文件) 一、删除mysql日志文件 第一步:登陆进入...删除日志文件的命令:purge binary logs to ‘mysql-bin.000005’;mysql> purge binary logs to 'mysql-bin.000005'; 删除除...删除后就能释放大部分空间。 二、mysql 定时清理日志文件 如果每次等到发现空间不足的时候才去手动删除日志文件, 这种方式是很不理想的。...编辑mysql的配置文件,设置expire_logs_days(mysql定时删除日志文件) [root@sam ~]# vim /etc/my.cnf 在my.cnf中,添加或修改expire_logs_days...的值 (这里设置的自动删除时间为10天, 默认为0不自动删除)expire_logs_days=10修改后,重启mysql就会生效。

    5.3K00
    领券