广告
返回顶部
首页 > 资讯 > 数据库 >MySQL Event历史记录
  • 449
分享到

MySQL Event历史记录

MySQLEvent历史记录 2019-04-06 07:04:19 449人浏览 猪猪侠
摘要

需求 SQL Server的作业历史(Job)记录是保存在msdb库中的,很方便就查询相关的Job定义,计划和历史记录,而Mysql的event却没有历史记录。为方便查看event是否正常执行以及执行结果,通过以下两个步骤来实现类似的功能。

需求 SQL Server的作业历史(Job)记录是保存在msdb库中的,很方便就查询相关的Job定义,计划和历史记录,而Mysql的event却没有历史记录。为方便查看event是否正常执行以及执行结果,通过以下两个步骤来实现类似的功能。   实现 1. 在mysql库创建event执行的历史记录表
CREATE TABLE `mysql`.`udf_event_history` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`event_gid` varchar(36) NOT NULL,
`db_name` varchar(128) NOT NULL DEFAULT "",
`event_name` varchar(128) NOT NULL DEFAULT "",
`start_time` datetime(3) NOT NULL DEFAULT current_timestamp(),
`end_time` datetime(3) DEFAULT NULL,
`is_success` tinyint(4) DEFAULT 0,
`duration` decimal(15,3) DEFAULT NULL,
`error_msg` varchar(512) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_event_git` (`event_gid`),
KEY `idx_db_event_name` (`db_name`,`event_name`),
KEY `idx_s_e_time` (`start_time`,`end_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 

2.根据以下建模板创建event

请注意根据实际情况修改相关信息
USE db1;

DELIMITER $$

CREATE DEFINER=`root`@`localhost` EVENT `event_test1` 
ON SCHEDULE EVERY 1 MINUTE STARTS "2019-01-01 00:00:00" 
ON COMPLETION PRESERVE ENABLE DO 
BEGIN  
    DECLARE r_code CHAR(5) DEFAULT "00000";  
    DECLARE r_msg TEXT;  
    DECLARE v_error INT;  
    DECLARE v_start_time DATETIME(3) DEFAULT NOW(3);
    DECLARE v_event_gid VARCHAR(36) DEFAULT UPPER(REPLACE(UUID(),"-",""));  
    
    
    INSERT INTO mysql.udf_event_history (db_name, event_name, start_time, event_gid)  
    VALUES(DATABASE(), "event_test1", v_start_time, v_event_gid);    
      
    BEGIN     
        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION    
        BEGIN  
            SET  v_error = 1;  
            GET DIAGNOSTICS CONDITION 1 r_code = RETURNED_SQLSTATE, r_msg = MESSAGE_TEXT;  
        END;  
        
        CALL db1.usp_1();
    END;  
      
    UPDATE mysql.udf_event_history 
    SET end_time = NOW(3), is_success = ISNULL(v_error), duration = TIMESTAMPDIFF(microsecond,start_time, NOW(3)) / 1000000, 
    error_msg = CONCAT("error = ", r_code,", message = ", r_msg)
    WHERE event_gid = v_event_gid;  
      
END$$  
DELIMITER ; 

 

通过查询mysql.udf_event_history表,可以知道event的开始结束时间、是否成功、执行时长、错误信息,等,为管理日常调度计划提供方便。

root@localhost [db1]select * from mysql.udf_event_history limit 2G;
*************************** 1. row ***************************
        id: 1
   db_name: db1
event_name: event_test1
start_time: 2019-12-03 15:44:00.000
  end_time: 2019-12-03 15:44:00.001
is_success: 0
  duration: 0.001
 error_msg: error = 42000, message = PROCEDURE db1.usp_2 does not exist
 event_gid: AB305D8C15A011EAB822005056AB041E
*************************** 2. row ***************************
        id: 2
   db_name: db1
event_name: event_test2
start_time: 2019-12-03 15:46:00.000
  end_time: 2019-12-03 15:46:05.405
is_success: 1
  duration: 5.405
 error_msg: NULL
 event_gid: F2B6197C15A011EAB822005056AB041E

 

参考

https://blog.csdn.net/wrh_csdn/article/details/79712778
您可能感兴趣的文档:

--结束END--

本文标题: MySQL Event历史记录

本文链接: https://www.lsjlt.com/news/2888.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL Event历史记录
    需求 SQL Server的作业历史(Job)记录是保存在msdb库中的,很方便就查询相关的Job定义,计划和历史记录,而MySQL的event却没有历史记录。为方便查看event是否正常执行以及执行结果,通过以下两个步骤来实现类似的功能。...
    99+
    2019-04-06
    MySQL Event历史记录
  • mysql binlog查看历史sql执行记录
    前情提要 最近有开发同学把测试库的数据干没了,反馈说是orm做了字段text转mediumtext操作导致的。 作为变更字段类型,且是兼容的理论上不可能存在这个问题,所以为了一探究竟他到底说的是不是假...
    99+
    2023-09-03
    mysql sql 数据库
  • Win8.1如何清除可靠性历史记录关闭历史记录功能
      最近几代的Windows系统都有个可靠性历史记录的功能,它是按一定的规则对系统过去状态进行评分。有的人讨厌这个功能,想把它关闭。不过这个功能无法关闭,只能清除记录。   按照以下方法来清除可靠性历史记录...
    99+
    2022-06-04
    历史记录 可靠性 功能
  • vue router 删除历史记录
    在使用Vue Router开发单页应用的过程中,我们经常需要让用户能够清除浏览器的历史记录。但是Vue Router并没有提供一个内置的方法帮助我们实现这一功能,所以我们需要想办法自己实现。方法一:一种方法是使用Javascript中的一个...
    99+
    2023-05-24
  • mysql event建立模板(可记录执行履历)
    建立履历记录表 CREATE TABLE `mysql`.`t_event_history` (   `dbname` VAR...
    99+
    2022-10-18
  • plsql历史记录如何恢复
    要恢复PL/SQL历史记录,您可以尝试以下方法:1. 使用数据库备份:如果您定期备份数据库,您可以恢复到先前的备份中,以包含PL/S...
    99+
    2023-09-09
    plsql
  • git如何修改历史记录
    本篇内容介绍了“git如何修改历史记录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法:1、用“git commit --amend”命令...
    99+
    2023-06-26
  • 怎么清除vps历史记录
    要清除VPS(Virtual Private Server,虚拟专用服务器)的历史记录,您需要执行以下步骤:1. 登录到VPS。您可...
    99+
    2023-09-14
    vps
  • Android实现历史搜索记录
    本文实例为大家分享了Android实现历史搜索记录的具体代码,供大家参考,具体内容如下 在app 的 build.gradle下添加依赖 dependencies {       ...
    99+
    2022-11-13
  • git怎么删除历史记录
    Git是目前最流行的版本控制系统之一。然而,有时候我们可能需要删除Git项目中的历史记录,以便重新开始。本文将介绍如何使用Git命令和工具来删除Git项目中的历史记录。使用git reset命令删除历史记录Git reset命令可用于取消提...
    99+
    2023-10-22
  • Win8清除历史记录技巧
    1、在开始界面或者任务栏打开资源管理器。 2、然后切换到搜索输入框,在上面找到最近的搜索内容。 3、选择“清楚搜索记录”就行了,这样就变成空白了。 4、如果你想将最近访问的位置列表和地址栏...
    99+
    2023-06-03
    win8清除历史记录 win8历史记录在哪里 win8历史记录在哪 历史记录 技巧 Win8
  • vue跳转后不记录历史记录的问题
    目录vue跳转后不记录历史记录vue-router回退不记录历史场景说明处理方案其他api跳转vue跳转后不记录历史记录 vue路由跳转一般情况下是使用push,  this.$ro...
    99+
    2022-11-13
  • Linux下如何查看mysql的历史操作记录
    这篇文章主要介绍了Linux下如何查看mysql的历史操作记录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 在linux下,mysql的...
    99+
    2022-10-18
  • oracle触发器---记录修改历史
    select * from ordtaskremeb_logcreate table ordtaskremeb_log(timeinfo varchar(50),oldeqid varc...
    99+
    2022-10-18
  • oracle命令历史记录工具(rlwrap)
    下载地址:https://github.com/hanslub42/rlwrap/releases1.安装依赖包[root@node3 ~]# yum install readline-devel* -y2...
    99+
    2022-10-18
  • 巧用*_his表记录操作历史
    文章转载自「开发者圆桌」一个关于开发者入门、进阶、踩坑的微信公众号 许多OLTP应用的开发者都知道,一些重要的操作要记录操作历史,把操作前的数据备份到历史表,然后再执行相应的修改操作。这样可以获取某...
    99+
    2022-10-18
  • SQLSERVER中怎么清除历史记录
    这期内容当中小编将会给大家带来有关SQLSERVER中怎么清除历史记录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。删除前做备份。  使用SQL Server登录使用数据...
    99+
    2022-10-18
  • mac safari历史记录如何查看
    这篇“mac safari历史记录如何查看”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mac safari历史记录如何查看...
    99+
    2023-07-02
  • 帮你删除 Git 中的历史记录
    对于使用 Git 进行项目管理的开发者来说,经常会遇到需要删除历史记录的情况。比如提交了敏感信息或者法律要求删除某些内容。但是,Git 的设计初衷是保留所有修改记录,因此删除历史记录并不是一件容易的事情。本文将介绍一些方法,帮助你删除 Gi...
    99+
    2023-10-22
  • win10更新历史记录如何删除
    要删除Windows 10的更新历史记录,可以按照以下步骤进行操作:1. 打开“设置”应用程序。你可以点击“开始”菜单,然后点击齿轮...
    99+
    2023-08-22
    win10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作