mysql通过job任务调度(event)执行存储过程

1、通过show EVENTS显示当前定义的事件


2、检查event_scheduler状态:SHOW VARIABLES LIKE 'event_scheduler'


3、设置job自动启动可以执行:SET GLOBAL event_scheduler = 1;或修改my.ini文件,添加:event_scheduler=1

4、创建一张简单的测试表

 

CREATE TABLE `example` (
  `id` varchar(50) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

5、创建一个简单的存储过程,执行数据插入任务

 

delimiter //
CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`()
BEGIN
	INSERT INTO example VALUES('example','example');
END
//

 

6、创建数据库定时任务

 

CREATE DEFINER=`root`@`localhost` EVENT `example_event2` 
ON SCHEDULE EVERY 1 MINUTE STARTS CURRENT_TIMESTAMP 
ON COMPLETION NOT PRESERVE ENABLE 
DO 
call NewProc

查看example表可以发现,每隔一分钟会多出一条记录。


 

posted @ 2016-10-22 23:04  海的心  阅读(3889)  评论(0编辑  收藏  举报