17.10.11从偶像转发解决mysql事件突然失效的问题

转自我领导coding_lcc的http://www.jianshu.com/p/92d2cd569627

1、问题发现:

项目中有一需求需要每天用计划任务对数据库进行更新,因此此前开启了计划任务来每天定时执行函数。但时不时会发现,这个计划任务时不时会自动关闭,进行排查后确定原因为:重启mysql或者Linux系统后,mysql的计划任务默认为关闭,即执行"show variables like 'event_scheduler';",结果为OFF。

2、解决办法:

一、单独执行一次函数,排查函数是否可用。

结果:函数执行成功,排除函数本身错误的问题。

二、用"mysql>show events;",查询mysql中计划事件的状态。

结果:查看Status栏,发现status为ENABLED,函数已启动。

三、查询计划事件的状态:"mysql>SHOW VARIABLES LIKE 'event_scheduler';",是否启用定时器。

结果:  | event_scheduler |OFF|,定时器关闭。

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

四、上网查询后得知,每次重启服务器,或者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

链接:http://www.jianshu.com/p/92d2cd569627

來源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(17.10.11从偶像转发解决mysql事件突然失效的问题)