查看event是否开启,必须打开调度器
分类:巴黎人-数据库

MySQL事件调整器event_scheduler担当调用事件,它私下认可是关闭的。那么些调解器不断地监视二个平地风波是不是要调用, 要创设事件,必须展开调整器。

查看event是还是不是开启

转自己领导coding_lcc的简书

翻看event是或不是张开

要翻看当前是还是不是已开启事件调治器,可实施如下SQL:

SHOW VARIABLES LIKE 'event_scheduler';-- 查看是不是张开机械漏刻

复制代码 代码如下:

1、难点意识:

复制代码 代码如下:

SHOW VARIABLES LIKE 'event_scheduler';

 

show variables like '%sche%';

品类中有一需求须求每日用布置职务对数据库举办翻新,由此从前开启了布署职分来天天定期实施函数。但时常会发掘,那么些安顿任务时不经常会自动关闭,实行排查后鲜明原因为:重启mysql或许Linux系统后,mysql的计划职责默以为关闭,即施行"show variables like 'event_scheduler';",结果为OFF。

show variables like '%sche%';

SELECT @@event_scheduler;

mysql> show variables like '%event_scheduler%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | OFF |
+-----------------+-------+
1 row in set (0.20 sec)

将事件安插开启

2、化解办法:

将事件计划开启

SHOW PROCESSLIST;
若显示:

开启事件调解器

复制代码 代码如下:

一、单独实践一遍函数,排查函数是或不是可用。

复制代码 代码如下:

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | OFF   |
+-----------------+-------+
则可实行

经过命令行

set global event_scheduler =1;

结果:函数实施成功,排除函数本人错误的难题。

set global event_scheduler =1;

SET GLOBAL event_scheduler = 1;

可透过如下任何贰个命令行

 

二、用"mysql>show events;",查询mysql中陈设事件的气象。

 

SET GLOBAL event_scheduler = ON;
来开启,也足以直接在开发银行命令加上“–event_scheduler=1”,例如:

SET GLOBAL event_scheduler = ``ON``;

始建存款和储蓄进度test

结果:查看Status栏,开采status为ENABLED,函数已开发银行。

开创存款和储蓄进度test

mysqld ... --event_scheduler=1

SET @@``global``.event_scheduler = ``ON``;

 

三、查询安插事件的状态:"mysql>SHOW VARIABLES LIKE 'event_scheduler';",是或不是启用停车计时器。

 

my.ini or my.cnf 中的
[mysqld]
添加 event_scheduler=ON

SET GLOBAL event_scheduler = 1;

复制代码 代码如下:

结果:  | event_scheduler |OFF|,电火花计时器关闭。

复制代码 代码如下:

创造事件(CREATE EVENT)
先来看一下它的语法:

SET @@``global``.event_scheduler = 1;

CREATE PROCEDURE test ()
BEGIN
update examinfo SET endtime = now() WHERE id = 14;
END;

PS:也足以用"SET GLOBAL event_scheduler = ON;"或者"SET GLOBAL event_scheduler = 1;"来展开,但没修改配置文件的前提下,后一次重启服务器依旧自动关闭。

CREATE PROCEDURE test ()
BEGIN
update examinfo SET endtime = now() WHERE id = 14;
END;

CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;

 

创建event e_test

四、上网查询后查出,每一遍重启服务器,可能mysql都会导致机械漏刻自动关闭(event_scheduler

OFF),由此大家需求修改配置文件,使得每回mysql运行时自动开启计时器。方法如下:

Windows中mysql配置文件为my.ini,Linux中为my.cnf,位置/etc/my.cnf。

修改该文件,在[mysqld]局地加上event_scheduler=ON即可。

五、重启mysql,检查是或不是重启后默感到ON。

结果:重启后发觉event_scheduler=ON,难题一蹴而就。

作者:coding_lcc

链接:

來源:简书

作品权归小编全体。商业转发请联系小编获得授权,非商业转发请注脚出处。

创建event e_test

schedule:
AT TIMESTAMP [+ INTERVAL INTERVAL]
| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

提醒:纵然这里用set global event_scheduler = on语句开启了风浪,不过每回重启Computer。或重启mysql服务后,会意识,事件自动关闭(event_scheduler=OFF),所以想让事件直接维持开启,最棒修改配置文件,让mysql服务运行的时候打开时间,只须要在my.ini或者my.cnf配备文件的[mysqld]部分加上event_scheduler=ON 即可,如下:

复制代码 代码如下:

复制代码 代码如下:

INTERVAL:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
            WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
            DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

本文由巴黎人手机版发布于巴黎人-数据库,转载请注明出处:查看event是否开启,必须打开调度器

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文