假设前提:每天晚上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 minute

do

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定时任务,希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

linux设置mysql定时任务_Linux下如何实现Mysql定时任务相关推荐

  1. linux c mysql教程_linux下c操作mysql之增删改查

    书接上文,继续进行linux 下c操作mysql. 1.创建表/插入数据 mysql> desc children -> ; +---------+-------------+------ ...

  2. linux 安装qt mysql库_Linux下QT平台Mysql数据库开发环境配置

    This doucment is about how to add mysql driver into QT and about database connections     由于之前安装RedH ...

  3. linux中卸载mysql数据库_Linux下彻底卸载mysql数据库

    linux下彻底卸载mysql 图解教程 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql 可以看到如下图的所示: 说明之前安装了: MySQL-client-5.5. ...

  4. linux下如何启动mysql服务_linux下怎么启动mysql服务

    2017-11-08 回答 权限问题.,copy份给你! 1.首先要运行一下 比如说我的mysql安装在/opt/mysql下面 #cd /opt/mysql #scripts/mysql_insta ...

  5. linux mysql移植_linux 下mysql 移植设置方法

    环境: db01:10.10.10.101 db03:10.10.10.103 需求: 将db01上mysql做完整移植,迁移到db03 详细步骤: 1. 打包db01上/app目录并scp到db03 ...

  6. linux下mysql授权_linux下mysql命令(用户授权、数据导入导出)

    1,linux下启动mysql的命令: 复制代码 代码示例: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2,linux下重启my ...

  7. linux 安装nginx php mysql 配置文件在哪_linux下 php+nginx+mysql安装配置

    我主要是用来安装php,以及nginx和php的交互. 一 安装插件 可以选择YUM安装或者源码编译安装gccgcc-c++zlib pcre pcre-devel libevent libevent ...

  8. linux安装自带mysql吗_Linux下安装mysql

    前提下必须要有这三个文件夹 A.jpg B.jpg 还要安装这两个软件:直接百度官网即可: 先通过Xftp6这个软件,编译文件夹, C.jpg 搭建mysql 1.查看CentOS自带的mysql r ...

  9. linux mysql安装_Linux下安装mysql服务(超详细)

    Mysql数据库的安装对于开发者来说,是我们必然会面对的问题,它的安装过程其实并不复杂,并且网络上的安装教程也非常多,但是对于新手来说,各种不同形式的安装教程,又给新手们带来了要选择哪种方式进行安装的 ...

最新文章

  1. 解析列表中的数据python_将html数据解析成python列表进行操作
  2. NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5)
  3. mysql 查询近几天的数据
  4. python中MySQLdb的使用
  5. Cortex-M系列MCU最大亮点是低功耗
  6. myeclipse+git pull项目报错
  7. nodejs mysql事务处理_关于NodeJs如何使用Mysql模块实现事务处理实例
  8. linux成为管理员_成为系统管理员需要知道的
  9. 语音识别技术原理概述!
  10. JavaScript保留关键字及危险变量名
  11. 图像处理1 高斯模糊
  12. 第一章 为什么我们对机器学习感兴趣?(二)
  13. scheme语言编译成c语言,Scheme语言--简单介绍
  14. 英语口语笔记B1-Unit7.交通出行-04-Train travel in Europe
  15. Nginx缓存静态文件
  16. Spring Security简单SSO
  17. php获取蓝凑云文件列表,蓝奏云网盘登录获取文件例程
  18. 企业服务大爆发,HR SaaS的机会与挑战
  19. 单片机 LCD1602显示实验
  20. 计算机硬件系统中指挥控制计算机工作,计算机硬件系统中指挥、控制计算机工作的核心部件是________。...

热门文章

  1. php实现页面跳转的几种方法(实例分享)
  2. 用HTML做一个注册页面
  3. GPS/GNSS测试工具
  4. 2021计算机保研夏令营、预推免英语问答
  5. 小米手机无法读取图片路径的问题
  6. 操作系统--内存管理
  7. Android3d结构光,为什么3D结构光在安卓手机中没有取代指纹识别?
  8. 数据库连接数设置多少合适?
  9. Windos10双系统之Ubuntu
  10. mydock 怎么卸载_MyDock(桌面dock栏)下载_MyDock(桌面dock栏) 版本:v4.8.8.9官方版_魅蓝下载...