mysql执行procedure_mysql存储过程执行方式

本文介绍了两种MySQL存储过程的执行方式。一是通过MySQL事件调度器定时调用存储过程`delete_action_log`,删除过期的行为日志;二是利用Linux的crontab和shell脚本`delActionLog.sh`,每天凌晨3点调用存储过程`delete_action_log2`清除30天前的日志。文章还包含了存储过程的创建、查看和删除的相关命令。
摘要由CSDN通过智能技术生成

一、mysql存储过程,通过事件定时调用,要求mysql版本5.1以上

/*==============================================================*/

/* 定义存储过程,操作过期行为日志,要求mysql版本5.1及以上                          */

/*==============================================================*/

/** 定义存储过程,删除行为日志*/

delimiter //

CREATE PROCEDURE delete_action_log (in date_inter integer)

BEGIN

DELETE from tbl_Log_action where TO_DAYS(SYSDATE()) - TO_DAYS(createDate) > date_inter;

END;

//

/** 查看event是否开启 */

show variables like '%sche%';

/** 将事件计划开启 set global event_scheduler=1;*/

set global event_scheduler = ON;

show variables like '%sche%';

/** 创建操作event事件,从2015-03-17凌晨2点50操作删除6天前日志,每日循环执行 */

CREATE EVENT if not exists e_delete_action_log

on schedule every 1 DAY STARTS '2015-03-17 02:50:00'

on completion preserve enable

do call delete_action_log(60);

二、linux命令crontab脚本调用

执行调用存储过程,删除30日前的所有日志,每日凌晨调用3点

crontab -e

0 3 * * * /my/xmol/bin/delActionLog.sh

脚本:delActionLog.sh

#!/bin/sh

# mysql -u 数据库用户名 -p数据库登录密码 某个库<

mysql -u myxmol -pmyxmol2101169 xmol<

call delete_action_log2(30);

EOF

定义存储过程:delete_action_log2,其中createDate为表日志时间

delimiter //

CREATE PROCEDURE delete_action_log2 (in date_inter integer)

BEGIN

DELETE from tbl_Log_action where TO_DAYS(SYSDATE()) - TO_DAYS(createDate) > date_inter;

END;

//

/** 显示全部存储过程*/

SHOW PROCEDURE STATUS;

/** 显示全部事件*/

show EVENTS;

/** 删除存储过程-指定库下执行*/

DROP PROCEDURE IF EXISTS delete_action_log;

/** 删除事件-指定库下执行*/

DROP EVENT IF EXISTS e_delete_action_log;

————————————————

版权声明:本文为CSDN博主「俊逸vs小宝」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qingzhong_he2010/article/details/44419845

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值