Mysql数据库——每天的9点到11点,每隔1分钟执行一次存储过程

数据库存储过程自动化:定时任务执行的完整方案 想象一下:你经营一家电商公司,每天凌晨3点需要自动清理前一天的临时订单数据,每周日23点要生成全平台销售报表,每月1号0点要结算用户积分……如果这些任务都靠人工手动执行存储过程,不仅容易漏操作,赶上节假日还可能没人处理。本文的目的就是教会你如何让数据库“自己定闹钟”,自动触发存储过程完成这些重复性任务。我们会覆盖主流数据库(MySQL、PostgreSQL、SQL Server)的内置方案,以及应用层调度工具(如Quartz)的搭配使用。用“早餐店做包子”的故事理解核心概念; 阅读详情

思路分析:

1、看到这个需求,最先想到的是使用Mysql的Event事件做一个定时任务

2、但是写定时任务时发现,某一天9点到11点每隔一分钟执行一次存储过程很容易,但是再加上每天的9点到11点,仅仅用Mysql的事件就做不到了。可能有很多小伙伴会说,我写个嵌套事件就可以了,写法为每隔一天的1点作为大事件,大事件执行的是当天的9点到11点的小事件,思路是对的,但是mysql不支持事件中创建事件,所以这个思路的大门被关闭了

3、最终想了一个办法是:先写一个创建事件的sql:当天的9点到11点每隔一分钟执行一次存储过程。然后再使用linux的crontab 每天的8:30定时执行sheel脚本来执行这个sql,这样就可以实现以上功能了

sql及sheel脚本:

1、首先,在数据库所在的服务器上创建一个Sheel脚本,我是在用户目录下创建了一个sh的目录(mkdir sh)。然后在sh目录下创建db_fx_life_sql.sh(touch db_fx_life_sql.sh,注意:创建文件后要授权执行权限:chmod 744 shu.sh,否则脚本将无法执行),脚本内容如下:

#!/bin/sh
user=fx_life
pass=FX_life_dev_!@34
db=db_fx_life_dev
mysql -u$user -p$pass -D $db < /home/fx_life/sh/signEvent.sql

2、其次,在同目录下创建要执行的sql文件(touch signEvent.sql),sql中是创建事件的脚本,内容如下:

DROP EVENT if exists stage_sign_in_event1;
            CREATE EVENT stage_sign_in_event1
            on schedule every 60 second STARTS DATE_ADD(CURDATE(), INTERVAL 9 HOUR) ENDS DATE_ADD(CURDATE(),              INTERVAL 11 HOUR)
            on completion preserve 
            do call insert_stage_sign_in_dynamic(FLOOR(1 + (RAND() * 101)));

3、最后,使用crontab -e命令编辑linux 定时任务:

30 8 * * * /home/fx_life/sh/db_fx_life_sql.sh

规则是:每天的8:30执行一次sheel脚本,这个时间设置有点类似于quartz的时间设置,但又不完全相同:  

依次为:分钟,小时,日,月,星期。

编辑好了之后以:wq方式保存,跟vim编辑器保存方式相同。

番外:

实现这个功能还有一个思路是写一个事件,事件规则为从现在开始每隔一分钟执行一次存储过程,而存储过程要改一下,在存储过程中加一个判断,判断被调用的时间是不是在9点到11点之间,如果是就执行原来存储过程的内容,如果不是就不执行。但是这么写有个弊端就是事件会一直在执行,这会在无形中给数据库带来压力。

实现这个功能参考的资料为:

1、linux crontab定时及sheel脚本博客:https://www.linuxidc.com/Linux/2017-09/146893.htm

2、mysql定时事件博客:https://www.cnblogs.com/itfenqing/p/6884650.html

 

C#读取mysql数据库,并用combox显示数据表名,dataGridView显示数据表的内容,再用time控件每隔1分钟刷新数据表。 这个是一个小的功能,总了很多大神些的代码,然后记录一下。希望对初学者有点帮助。 1.首先是连接mysql数据库,添加C#引用就可以了。 2.添加各种控件,主要是空间里写的关系。 3.计时器的使用。 希望对初学者有帮助。我就是一个小白,然后结合网上各种大神写的和自己写的,记录一下。 https://blog.youkuaiyun.com/qq_39299631/article/details/1026... 阅读详情

相关推荐

MySQL实现每分钟扫描一次数据库,查找16分钟前的记录和15分钟 以前-16分钟的记录

描述 每分钟扫描一次数据库,查找15分钟以前-16分钟的记录。 先从send_orders获取符合条件的记录,并提取master_ia字段的值与order__id的值 然后从masterhas_slave表里根据上一步得到的master_1d值查我匹配的slave_1d的值 用上一步得到的salve__id与第一步得到的master_id及order_1d组合的记录...

qq_40881607的博客 2103

mysql 存储过程每隔一段时间执行一次

mysql要实现定时执行sql语句就要用到Event具体操作如下:先看看看event 事件是否开启show variables like '%sche%';如没开启,则开启。需要数据库超级权限set global event_scheduler =1;创建存储过程 update_a (注:就是你要执行的sql语句)mysql> create procedure update_a()...

weixin_30892987的博客 1039

你还在轮询数据库修改订单状态吗

一、背景 多数电商都会遇到限时订单处理。例如到付款订单30分钟变为订单关闭状态。七天自动收货等。二、解决方案 1、轮询数据库:实现一个定时器,每隔一段时间去检查一遍数据库里的所...

anzy/pine的博客 4092

NVIDIA NCCL 源码解析:从XML拓扑到高性能通信图的构建

本文深入解析了NVIDIA NCCL如何将XML硬件拓扑文件转化为高性能通信图的核心过程。详细阐述了从创建CPU、GPU、NIC等节点,到建立PCIe、NVLink连接,再到计算链路带宽并进行关键排序的完整建图流程。该图是NCCL实现最优通信路径规划、充分发挥NVLink等高速互联性能的基石,直接影响分布式深度学习训练的效率。

convnet3designer的博客 308

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(四)-无人机系统(UAS)命令与控制(C2)通信用例

UTM向5G网络提供无人机系统C2通信所需的信息,例如服务类别、无人机系统服务的流量类型、授权的无人机系统服务所需的QoS以及无人机系统服务的订阅。遵循模型B的网络辅助C2模型,为了确保UAS操作的C2通信的服务可用性和可靠性,特别是当无人机在操作员的视线之外(BLOS)飞行时,为无人机提供支持冗余的C2通信链路。如果需要创建额外的C2通信连接或更改现有数据连接的配置以进行C2通信,则5G网络会根据无人机系统的授权服务信息和C2通信中所需的QoS和优先级,修改或分配一个或多个C2通信流量的QoS流。

u011376987的博客 2053

mysql存储过程在某一时间段内间隔执行

mysql存储过程在某一时间段内间隔执行

aeyou13的博客 615

单像素成像技术原理与Matlab仿真实现

傅里叶变换是数字图像处理的核心数学工具,它将图像从空间域转换到频率域表示。基于傅里叶频谱分析的成像技术通过采集关键频率分量实现图像重建,这种原理催生了单像素成像这一创新技术。单像素成像利用空间光调制器和单个探测器直接测量傅里叶系数,结合压缩感知算法实现高效成像,在红外、太赫兹等特殊波段展现出独特优势。通过Matlab仿真可以验证傅里叶基测量矩阵的构建、压缩感知重建等关键技术环节,为实际系统开发提供理论基础。该技术在弱光环境成像、显微观测等领域具有重要应用价值,其低成本特性也大大降低了特殊波段成像的门槛。

weixin_29061425的博客 345

mysql定时任务,每天定时执行

1

u012693016的博客 1万+

Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装Node.js 2.2 步骤二:安装git 2.3 步骤三:安装并配置OpenClaw 2.4 步骤四:配置OpenClaw 2.5 步骤五:配置模型 2.6 步骤六:对话 3. 后续使用步骤 4. 报错解决方案 5. OpenClaw的卸载

weixin_43178406的博客 10万+

ICC2:postmask ECO参考脚本

更多学习内容请关注「拾陆楼」知识星球。

m0_61544122的博客 884

mysql的每隔1分钟定时_mysql 存储过程每隔一段时间执行一次

mysql要实现定时执行sql语句就要用到Event具体操作如下:先看看看event 事件是否开启show variables like '%sche%';如没开启,则开启。需要数据库超级权限set global event_scheduler =1;创建存储过程 update_a (注:就是你要执行的sql语句)mysql> create procedure update_a() upda...

weixin_39910824的博客 925

Python爬虫实战:利用Requests-HTML与异步技术高效爬取B站视频信息及弹幕数据分析

B站的弹幕,远非简单的评论功能,它是一种独特的、实时互动的社交方式,是观众情感的集体宣泄和共鸣。无论是用于内容创作者优化视频结构,还是用于社会学、传播学的研究,亦或是简单的个人兴趣分析,都具备极高的价值。stop_words = {'的', '了', '是', '我', '你', '他', '她', '它', '在', '有', '不', '吗', '吧', '啊', '这', '那'}本文不仅是代码的堆砌,更注重原理的剖析、反爬策略的应对以及工程化的思考,旨在为读者提供一份紧跟技术前沿的实战指南。

2201_76125261的博客 390

oracle job每秒执行一次,oracle起定时任务,每隔1秒执行一次

创建一个测试表和一个存储过程:create table a(a date);create or replace procedure test asbegininsert into a values(sysdate);end;定时任务样板:declarejob1 number;begindbms_job.submit(job1,what => 'test;',next_date => s...

weixin_32549035的博客 2031

SAP BTP Trial 生命周期全解析:90 天试用、30 天活跃规则、Kyma 有效期与向 Free Tier 的顺滑迁移

摘要: SAP BTP免费试用账号(trial)提供90天有效期,需每30天登录一次保持活跃状态。Kyma运行时有效期仅14天,需特别注意重建。到期后数据不可恢复,建议将关键配置脚本化并保存。若需长期使用,可迁移至无时间限制的免费层(free tier)。文章详细拆解了试用生命周期规则,包括续期、删除机制,并针对CAP开发、集成套件和Kyma等场景提供实操建议,帮助用户规避常见误区,高效利用试用资源。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 368

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

mysql 每隔5分钟统计一次

MySQL 定时统计数据:每隔5分钟执行一次的实现方法 作为一名经验丰富的开发者,我经常被问到如何实现定时任务,特别是涉及到数据库操作时。今天,我将向刚入行的开发者们介绍如何在MySQL中实现每隔5分钟统计一次数据的功能。 1. 理解需求 首先,我们需要明确需求:每隔5分钟,从数据库中提取数据,进行统计,并将结果存储或展示...

weixin_36448964的博客 469

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

mysql的每隔1分钟定时_mysql中每隔一段时间自动执行一次sql语句?

mysql要实现定时执行sql语句就要用到Event具体操作如下:先看看看event 事件是否开启show variables like '%sche%';如没开启,则开启。需要数据库超级权限set global event_scheduler =1;创建存储过程 update_a (注:就是你要执行的sql语句)mysql> create procedure update_a() upda...

weixin_39603537的博客 1508

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

10分钟学会写一个简单的Mysql存储过程

一、什么是存储过程二、存储过程怎么创建三、查看四、执行1、执行说明2、开始执行五、删除存储过程六、Mysql高版本:this is incompatible with sql_mode=only_full_group_by 问题 一、什么是存储过程 存储过程是一组为了完成特定功能的 SQL 语句集合。使用存储过程的目的是将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程。当以后需要数据库提供与已定义好的存储过程的功能相同的服务.

夏已微凉、 1万+

mysql事件每天执行一次_MySQL-事件

MySQL事件是根据指定时间表执行的任务。 因此MySQL事件称为计划事件。MySQL事件是包含一个或多个SQL语句的命名对象。 它们存储在数据库中并以一个或多个时间间隔执行。例如可以创建一个事件来优化数据库中的所有表,该事件在每个星期日的5:00 AM运行。MySQL事件也称为“时间触发器”,因为它们是由时间触发的,而不是由DML事件(如常规触发器)触发的。 MySQL事件类似于Linux上的c...

weixin_29952383的博客 3118

mysql事件每天执行一次_卓象程序员:Mysql数据库事件使用与示例

事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。 事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。 事件取代了原先只能由操作系统的计划任务来执行的工作,而且...

weixin_35620886的博客 820

Mysql查看自动执行任务_MYSQL 定时自动执行任务

MYSQL5.1开始支持EVENT功能,类似Oracle和MSSQL的定时任务job功能。有了这个功能之后我们就可以让MySQL自动的执行存储过程来实现数据汇总等功能了,不用像以前哪样手动操作完成了。下面我们来测试下,在MYSQL中如何自动执行指定存储过程,实现相关功能。一、创建测试表CREATE TABLE EVENT_table(id INT auto_increment PRIMARY K...

weixin_39914732的博客 2370

mysql定义存储过程每天定时调用_MYSQL定时执行存储过程

//**MYSQL定时执行存储过程查看event是否开启: show variables like '%sche%';将事件计划开启: set global event_scheduler=1;关闭事件任务: alter event e_test ON COMPLETION PRESERVE DISABLE;开户事件任务: alter event e_test ON COMPLETION PRES...

weixin_31960145的博客 876

数据库定时任务——mysql设置每隔一段时间自动更新某个字段

在开发过程中经常会遇到这样一个问题: 每天必须定时去执行一条sql语句 或更新或删除或执行特定的sql语句。 那么就想到用mysql的event计划任务去实现: 要想执行event事件,就必须保证mysql的版本的5.1.6以上,否则会报如下错误: 1、要想保证能够执行event事件,就必须保证定时器是开启状态,默认为关闭状态 SET GLOBAL event_scheduler = ...

欢迎交流PHP和前端知识QQ:634487911 1万+

MYSQL每隔10分钟进行分组统计的实现方法

前言本文的内容主要是介绍了MYSQL每隔10分钟进行分组统计的实现方法,在画用户登录、操作情况在一天内的分布图时会非常有用,之前我只知道用「存储过程」实现的方法(虽然执行速度快,但真的是太不灵活了),后来学会了用高级点的「group by」方法来灵活实现类似功能。正文:?1234567891011121314-- time_str '2016-11-20 04:31:11'-- date_str ...

slqgenius的博客 1万+
上一篇: Java遍历Map对象的四种方式
下一篇: “优速智能客服”项目遇到的影响项目性能的几个因素
chen_lay
博客等级 码龄12年 44粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值