Mysql中event事件示例
1、查询mysql的事件计划是否开启:
SHOW VARIABLES LIKE 'event_scheduler';
OFF 关闭 ON 开启
2、开启事件计划
开启event_scheduler 的指令,下面任何一个命令都可以
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;
3、关闭事件计划
关闭事件计划的指令,,下面任何一个命令都可以
SET GLOBAL event_scheduler = OFF;
SET @@global.event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = 0;
以上的任务只是临时生效,重启就会恢复之前状态,要想永久生效需要在配置文件中配置参数
4、永久设置 时间计划
要设置重启后可自动执行还需要修改mysql配置文件。
要在/etc/mysql/mysql.conf.d/mysqld.cnf或my.cfg中添加event_scheduler=ON
如果没有添加的话,mysql重启事件又会回到原来的状态了。
event_scheduler = 1 #表示开启事件
event_scheduler = 0 #表示关闭事件 MySQL8.0版本event_scheduler默认是1。
Mysql重启即可
5、此时需要看一下计划事件的状态
show events
状态为:ENABLED 表示可以执行,如果为:DISABLE ,则不能执行
把:DISABLE 改为 ENABLED 方法为: 在时间的 【定义】标签,内进行修改。
6、看事件是否执行,看一下下面的上次执行时间
如果为 na/null 则没有执行
按照1-5 步骤进行设置,就可以正常执行。
7、删除事件
DROP EVENT IF EXISTS 事件名;
8、开启关闭某个事件
--开启事件
alter event 事件名 on completion preserve enable;
--关闭事件
alter event 事件名 on completion preserve disable;