前台统计数据量很大,于是在数据库中新建了一个事件,每隔10分钟执行一次存储过程,向统计表中插入统计数据
但是创建完成后发现事件并不会自动执行,上网查了一下才知道必须手工开启才事件可以
查看事件开启状态的语句,两种方式都可以。
SHOW GLOBAL VARIABLES LIKE 'event%';
SELECT @@event_scheduler;
如果状态为OFF表示事件没有开启,不会自动执行,用下面的四种语句都可以开启事件。
SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = ON;
SET @@global.event_scheduler = 1;
另外还需要注意一点,虽然MySQL的事件开启了,但是每次重启数据库或重启服务器后,事件默认又变成了关闭状态。
要解决这个问题,需要修改MySQL的配置文件my.ini,这个文件在c:/programs/MySQL文件夹下
打卡后找到[mysqld]节点,在下面添加一行配置项即可
event_scheduler=ON