mysql创建定时执行存储过程任务

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: mysql创建定时执行存储过程任务


  • 创建一个表
DROP TABLE IF EXISTS `test_sche`;
CREATE TABLE `test_sche` (   
`id` int(11) NOT NULL,   
`counts` int(11) DEFAULT NULL,   
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
-- ---------------------------- 
-- Records of test_sche -- 
---------------------------- 
INSERT INTO `test_sche` VALUES ('1', '188');
  • 创建一个存储过程
  • 方式一
CREATE DEFINER = `root` @`localhost` PROCEDURE `pro_add` () 
BEGIN
  #Routine body goes here...  
  UPDATE test_sche SET counts=counts+1 WHERE id=1; 
END
  • 方式二
DROP PROCEDURE IF EXISTS pro_add;
CREATE PROCEDURE pro_add () # 名称:pro_save_ap_manage_result_
   BEGIN # 开始
   -- --------------内容开始--------------------------
    UPDATE test_sche SET counts=counts+1 WHERE id=1; #以';'结束
    #多条语句
    select now();#以';'结束
   -- --------------注意“;”内容结束--------------------------
   END; #结束

注意:mysql默认的语句分隔符为 ;,命令行的方式创建存储过程的时候,可以根据需要先修改命令结束符,将分号改成其他的符号,如 $$ ,这样在后续的 create 到 end 间的代码都会看成是一条语句来执行,最后再将语句分割符设置回 ;

delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ';' ,这样在后续的 create 到 end 这段代码都会看成是一条语句来执行
CREATE PROCEDURE pro_add(IN p_in int)
BEGIN # 开始
 UPDATE test_sche SET counts=counts+1 WHERE id=1; 
END$$  # 结束
DELIMITER ;   # 将语句的结束符号恢复为分号
  • 创建一个事件,并调用存储过程
CREATE DEFINER = `root` @`localhost` EVENT `event_test_sche_` 
ON SCHEDULE EVERY 5 SECOND STARTS '2016-07-12 22:11:50' # 5 秒执行一次 
ON COMPLETION NOT PRESERVE ENABLE
DO CALL `pro_add`
DROP EVENT IF EXISTS event_test_sche_;
CREATE EVENT `event_test_sche_`
ON SCHEDULE EVERY 1 month STARTS '2016-10-01 00:00:00' # 每月1号执行
ON COMPLETION NOT PRESERVE ENABLE
DO CALL `pro_add`
  • 查看事件运行状态
select * from mysql.event
  • 开启或者关闭事件
ALTER EVENT event_test_sche_DISABLE;   
ALTER EVENT event_test_sche_ENABLE;


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
174 3
|
2月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
80 3
|
2月前
|
存储 SQL NoSQL
|
3月前
|
存储 SQL 关系型数据库
MySql数据库---存储过程
MySql数据库---存储过程
51 5
|
3月前
|
存储 关系型数据库 MySQL
MySQL 存储过程返回更新前记录
MySQL 存储过程返回更新前记录
82 3
|
3月前
|
存储 SQL 关系型数据库
MySQL 存储过程错误信息不打印在控制台
MySQL 存储过程错误信息不打印在控制台
92 1
|
5月前
|
运维 关系型数据库 MySQL
在Linux中,MySQL数据库日常运维中涉及哪些关键任务?
在Linux中,MySQL数据库日常运维中涉及哪些关键任务?
|
5月前
|
存储 关系型数据库 MySQL
Mysql表结构同步存储过程(适用于模版表)
Mysql表结构同步存储过程(适用于模版表)
57 0
|
5月前
|
存储 SQL 关系型数据库
MySQL 创建存储过程注意项
MySQL 创建存储过程注意项
60 0
|
6月前
|
存储 SQL 关系型数据库
(十四)全解MySQL之各方位事无巨细的剖析存储过程与触发器!
前面的MySQL系列章节中,一直在反复讲述MySQL一些偏理论、底层的知识,很少有涉及到实用技巧的分享,而在本章中则会阐述MySQL一个特别实用的功能,即MySQL的存储过程和触发器。
127 0