查寻的前提是你得有事件,如果你还不会创建事件,可以参考一下《从实例出发教会你如何创建并执行事件!》。
这里先创建一个事件:
每5s查询一次dotcpp_user表格:
USE dotcpp; CREATE EVENT select_dotcpp_user ON SCHEDULE EVERY 10 SECOND DO SELECT * FROM dotcpp_user;
如果想要知道MySQL里的事件状况,一般可以通过这三种方式查看:
1.mysql.event 底层系统表 信息最原始,字段复杂 深入分析事件底层定义
2.information_schema.events 逻辑视图(基于系统表) 信息全面且易读,支持跨库查询 跨库查询、详细分析事件属性
3.SHOW EVENTS; 简化查询(基于视图) 只显示当前库事件,信息简洁 快速查看当前库事件状态
这三张表都可以通过SELECT * FROM进行查询,information_schema.events 是官方推荐的查询方式,适合大多数场景,具体讲一下该表中的各个参数:
SELECT * FROM information_schema.events \G
得到:
mysql> SELECT * FROM information_schema.events \G *************************** 1. row *************************** EVENT_CATALOG: def EVENT_SCHEMA: dotcpp EVENT_NAME: select_dotcpp_user DEFINER: root@localhost TIME_ZONE: SYSTEM EVENT_BODY: SQL EVENT_DEFINITION: SELECT * FROM dotcpp_user EVENT_TYPE: RECURRING EXECUTE_AT: NULL INTERVAL_VALUE: 10 INTERVAL_FIELD: SECOND SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION STARTS: 2025-09-19 18:22:03 ENDS: NULL STATUS: ENABLED ON_COMPLETION: NOT PRESERVE CREATED: 2025-09-19 18:22:03 LAST_ALTERED: 2025-09-19 18:22:03 LAST_EXECUTED: 2025-09-19 18:23:23 EVENT_COMMENT: ORIGINATOR: 1 CHARACTER_SET_CLIENT: gbk COLLATION_CONNECTION: gbk_chinese_ci DATABASE_COLLATION: utf8mb4_0900_ai_ci 1 row in set (0.00 sec)
其中参数和说明如下:
参数 | 值 | 说明 |
---|---|---|
EVENT_SCHEMA | dotcpp | 事件所属的数据库名称 |
EVENT_NAME | select_dotcpp_user | 事件的名称 |
DEFINER | root@localhost | 事件创建者(root用户本地登录) |
EVENT_DEFINITION | SELECT * FROM dotcpp_user | 事件执行的具体SQL语句 |
EVENT_TYPE | RECURRING | 事件类型:重复执行(非一次性) |
INTERVAL_VALUE | 10 | 执行间隔数值:10 |
INTERVAL_FIELD | SECOND | 执行间隔单位:秒 |
STARTS | 2025-09-19 18:22:03 | 事件开始执行的时间戳 |
LAST_EXECUTED | 2025-09-19 18:23:23 | 事件最后一次执行的时间戳 |
STATUS | ENABLED | 事件状态:已启用(正在运行) |
SQL_MODE | ONLY_FULL_GROUP_BY... | 事件执行时的SQL模式设置 |
结果:此事件select_dotcpp_user每10秒在dotcpp数据库中执行一次SELECT * FROM dotcpp_user查询,由root用户创建,目前处于正常运行状态,最近一次执行时间为18:23:23。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程