[DB] - Mysql创建定时任务

mysql支持定时任务的创建,要求mysql服务器开始定时任务调度。

1. 查看是否开启定时任务执行
  SHOW VARIABLES LIKE ‘event_scheduler‘; // OFF表示没有开启
2. 开启定时任务
  SET GLOBAL event_scheduler = ON;
  或者
  my.cnf文件中添加event_scheduler = 1  

3. 编写定时任务

  语法规则:

    CREATE EVENT [IF NOT EXISTS] event_name  // 指定名称

    ON SCHEDULE schedule  // 指定任务调度规则

    ON COMPLETION [NOT] PRESERVE // 指定任务是一次执行,还是多次执行,不给定not的时候是一次执行,默认多次执行

    [DISABLE|ENABLE] // 指定任务是否激活,默认激活enable

    [COMMENT ‘comment‘] // 指定注解、注释

    DO sqlstament  // 指定具体的执行sql

  schedule规则:

    AT TIMESTAMP [+ INTERVAL INTERVAL] | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

  INTERVAL规则:

    quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

  quantity为数字

4.案例

use test;
CREATE TABLE `e_t` (
`timeline` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE EVENT event_insert_et ON SCHEDULE EVERY 1 SECOND DO INSERT INTO test.e_t VALUES(CURRENT_TIMESTAMP);

    

时间: 2024-08-06 11:57:35

[DB] - Mysql创建定时任务的相关文章

MySQL创建定时任务

一.前言 自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作.更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次.对于一些对数据实时性要求比较高的应用(例如:股票.赔率.比分等)就非常适合. 事件调度器有时也可称

mysql创建定时任务,每月1号删除上月数据

1.创建存储过程: CREATE DEFINER=`gzy`@`%` PROCEDURE `delLastMonth`() BEGIN DECLARE lastmonth int; SET lastmonth = DATE_FORMAT(date_sub(curdate(),interval 1 MONTH),'%Y%m'); DELETE FROM wysytask.user_sign WHERE `month`=lastmonth; DELETE FROM wysytask.user_res

yii框架通过控制台命令创建定时任务

假设Yii项目路径为 /home/apps 1. 创建文件 /home/apps/web/protected/commands/console.php $yii = '/home/apps/framework/yii.php'; require_once($yii); $configFile = dirname(__FILE__).'/../config/console.php'; Yii::createConsoleApplication($configFile)->run(); 2. 修改配

MySQL存储过程定时任务

一.基本概念 mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程. 二.适用范围 对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理.例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表. 三.使用权限 单独使用event调用SQL语句时,查看和

如何写mysql的定时任务

什么是事件: 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 查看是否开启: show variables like 'event_scheduler'; 如果显示OFF,则输入以下语句开启: set global event_scheduler = on; 提醒:虽然这里用set global event_scheduler = on语句开启了事件,但是每次重启电脑.或重启mysql服务后,会发现,事件自动关

Mysql 存储过程+定时任务,完成分区自动维护

建表: drop table if exists terminal_parameter; CREATE TABLE `terminal_parameter` ( `terminal_parameter_id` int(11) NOT NULL AUTO_INCREMENT, .................... `createtime` datetime NOT NULL, `userid` int(8) NOT NULL, `terminal_id` int(8) DEFAULT NULL

MySQL创建修改表结构

一. 数据库的概述 1.什么是数据库 DB,DataBase 数据库:依照某种数据模型进行组织并存放到存储器的数据集合 DBMS,DataBase Management System 数据库管理系统:用来操纵和管理数据库的大型服务软件 DBS,DataBase System 数据系统:即DB+DBMS,指带有数据库并整合了数据库管理软件的计算       机系统 2.E-R数据模型 实体-关系 模型(Entity-Relationship Model) 3.常见的数据库服务软件 类型 厂商 Or

mysql 创建用户以及备份

mysql 创建用户以及授权授权用户 grant 授权 all 所有权限 指定来源IP grant all on . (所以表) to 'user1'@'1.1.1.1'(%通配所以IP ) identified by '123456a'登录验证报错 默认使用的授权是souck 加-h 授权本地 使用locahost链接验证登录指定特定的权限 特定的表用户权限查询常用sql 语句查看表的行数查看表的内容select * from mysql.db 非常耗费资源数据库的引擎 myisam use

MySQL job/定时任务/event 学习

参考文章: https://blog.csdn.net/qq_21108311/article/details/82589850 https://blog.csdn.net/qq_27238185/article/details/56271877 https://blog.csdn.net/lxpbs8851/article/details/8019965 概要简述 原文链接:https://blog.csdn.net/qq_21108311/article/details/82589850 M