Linux下实现Mysql定时任务的案例
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Linux下实现Mysql定时任务的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!假设前提:每天晚上
千家信息网最后更新 2026年11月03日Linux下实现Mysql定时任务的案例
小编给大家分享一下Linux下实现Mysql定时任务的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
假设前提:每天晚上10点到早上5点,每10分钟定时执行存储过程。
实现方式:
第一种是利用Mysql本身实现,制定event定时任务,可以借助Navicat For Mysql或其他数据库开发工具去做;
第二种实现方式是利用linux的定时任务,这个是利用Linux系统自带任务管理工具实现的。
一、Mysql中event定时任务的相关命令,
1.查看event是否启用:
SELECT @@event_scheduler; 或SHOW VARIABLES LIKE 'event%';
2.开启定时任务:
set GLOBAL event_scheduler = 1; 或SET GLOBAL event_scheduler = ON;
3.建立定时任务:
DROP EVENT IF EXISTS JOB_ALARM;CREATE EVENT JOB_ALARM ON SCHEDULE EVERY 10 MINUTEDO BEGIN if(date_format(current_time(),'%H')>22 || date_format(current_time(),'%H')<5) THEN CALL PRO_ALARM(); END IF;END
4.建立存储过程:
DROP PROCEDURE IF EXISTS PRO_ALARM; CREATE PROCEDURE PRO_ALARM() BEGIN DECLARE userId VARCHAR(32); #这个用于处理游标到达最后一行的情况 DECLARE s INT DEFAULT 0; #声明游标cursor_name(cursor_name是个多行结果集) DECLARE cursor_data CURSOR FOR SELECT tmp.USER_ID FROM ( SELECT e.USER_ID, MAX(e.TIME_GMT) TIME_GMT FROM EVENTS e GROUP BY e.USER_ID HAVING MAX(e.TIME_GMT) < UNIX_TIMESTAMP() - 60 * 30 AND MAX(e.TIME_GMT) > UNIX_TIMESTAMP() - 60 * 60 * 24) tmp INNER JOIN EVENTS t ON tmp.USER_ID = t.USER_ID AND tmp.TIME_GMT = t.TIME_GMT WHERE TYPE_ID != '34001'; #设置一个终止标记 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s = 1; OPEN cursor_data; #获取游标当前指针的记录,读取一行数据并传给变量a,b FETCH cursor_data INTO userId; #开始循环,判断是否游标已经到达了最后作为循环条件 WHILE s <> 1 DO INSERT INTO EVENTS_NOTIFICATION VALUES (NULL, SYSDATE(), UNIX_TIMESTAMP(SYSDATE()), UNIX_TIMESTAMP(SYSDATE()), '00000', userId, '1', '0'); #读取下一行的数据 FETCH cursor_data INTO userId; END WHILE; #关闭游标 CLOSE cursor_data; END;
二、利用linux的定时任务,
linux定时任务基本命令:
查看定时任务:crontab -l
编辑定时任务:crontab -e
*/10 22-23,0-5 * * * mysql -u用户名 -p密码 -e "use db_name;CALL PRO_ALARM();"
或者把use db_name;CALL PRO_ALARM();存到sql脚本中,编辑定时任务如下:
*/10 22-23,0-5 * * * mysql -u用户名 -p密码 < /application/Job_mysql.sql
以上是"Linux下实现Mysql定时任务的案例"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
任务
游标
一行
数据
篇文章
案例
内容
命令
密码
工具
方式
用户
用户名
过程
存储
循环
不怎么
前提
变量
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
科技类互联网
上海挚品互联网科技
紫鲸互联网科技
安徽鑫晟辉互联网科技
睿民互联网科技
互联网科技小额贷款
海南科技产业互联网平台
随着互联网科技发展
崇明区互联网教育科技诚信经营
花神(南京)互联网科技有限公司
阿大互联网科技有限公司
未来五年的互联网科技
华夏恒生互联网科技013171
阿里互联网科技企业
玉溪新华互联网科技好不好
中和天地互联网科技有限公司
江苏苏星互联网科技有限公司
互联网的黑科技实验室
伍佰万互联网科技是干嘛的
互联网科技会
新华互联网科技校企合作
互联网 科技馆
智腾互联网科技有限公司
速维有品互联网信息科技(苏州)有限公司
乌鲁木齐新华智原互联网科技学校
广州千川互联网科技有限公司
皮皮虾互联网科技有限公司
易企秀互联网科技是做什么的
互联网科技的前景