逐步讲解MySQL中定时事件计划的创建
2017-10-10 17:32
267 查看
一、使用过程
1.查看当前是否已开启事件计划(调度器)有3种方法:
?
2. 开启事件计划(调度器)开关有4种方法:
?
键值1或者ON表示开启;0或者OFF表示关闭;
3.关于事件计划的权限:
单独使用event调用SQL语句时,查看和创建需要用户具有event权限,调用该SQL语句时,需要用户具有执行该SQL的权限。Event权 限的设置保存在mysql.user表和mysql.db表的Event_priv字段中。(FLUSH PRIVILEGES;)
当event和procedure配合使用的时候,查看和创建存储过程需要用户具有create routine权限,调用存储过程执行时需要使用excute权限,存储过程调用具体的SQL语句时,需要用户具有执行该SQL的权限。
?
获取当前登陆的用户和数据库:SELECT CURRENT_USER(), SCHEMA();
从Figure1可以知道bfsql@%是没有Event_priv权限的,在该用户下创建事件的时候会出现下面的错误:
Error Code: 1044Access denied for user 'bfsql'@'%' to database 'blog'
如果出现上面的错误,执行下面的SQL就可以给bfsql@%赋予创建Event的权限:
?
最后,你可以通过SHOW GRANTS FOR 'bfsql'@'%';查看所有权限;
4.创建事件:
(1)创建事件的语法如下:
?
(2)创建事件的示例如下:
?
DO sql_statement字段表示该event需要执行的SQL语句或存储过程。这里的SQL语句可以是复合语句,使用BEGIN和END标识符将复合SQL语句按照执行顺序放在之间。
?
5.事件开启与关闭:
开启某事件:
?
关闭某事件:
?
二、实例:
mysql定时器是系统给提供了event,而oracle里面的定时器是系统给提供的job。废话少说,下面创建表:
?
创建存储过程,这里的存储过程主要提供给mysql的定时器event来调用去执行:
?
这里只是简单的写了一下,只是为了说明例子。
紧接着创建mysql的定时器event:
?
这里设置为每一秒执行一次
至此所有的准备工作已经写完了,做完这些,mysql要想利用定时器必须的做准备工作,就是把mysql的定时器给开启了:
?
紧接着还要开启事件:
?
至此,你去数据库里面的表mytable里面看下,系统会每隔一秒去插入一条数据,嘻嘻,任务完成了。
?
原网址: www.jb51.net/article/83430.htm
1.查看当前是否已开启事件计划(调度器)有3种方法:
?
?
3.关于事件计划的权限:
单独使用event调用SQL语句时,查看和创建需要用户具有event权限,调用该SQL语句时,需要用户具有执行该SQL的权限。Event权 限的设置保存在mysql.user表和mysql.db表的Event_priv字段中。(FLUSH PRIVILEGES;)
当event和procedure配合使用的时候,查看和创建存储过程需要用户具有create routine权限,调用存储过程执行时需要使用excute权限,存储过程调用具体的SQL语句时,需要用户具有执行该SQL的权限。
?
获取当前登陆的用户和数据库:SELECT CURRENT_USER(), SCHEMA();
从Figure1可以知道bfsql@%是没有Event_priv权限的,在该用户下创建事件的时候会出现下面的错误:
Error Code: 1044Access denied for user 'bfsql'@'%' to database 'blog'
如果出现上面的错误,执行下面的SQL就可以给bfsql@%赋予创建Event的权限:
?
4.创建事件:
(1)创建事件的语法如下:
?
?
?
开启某事件:
?
?
mysql定时器是系统给提供了event,而oracle里面的定时器是系统给提供的job。废话少说,下面创建表:
?
?
紧接着创建mysql的定时器event:
?
至此所有的准备工作已经写完了,做完这些,mysql要想利用定时器必须的做准备工作,就是把mysql的定时器给开启了:
?
?
?
相关文章推荐
- 逐步讲解MySQL中定时事件计划的创建
- 逐步讲解MySQL中定时事件计划的创建
- mysql 创建定时事件
- mysql创建事件定时执行任务
- mysql定时计划任务,ON COMPLETION [NOT] PRESERVE 当单次计划任务执行完毕后或当重复性的计划任务执行到了ENDS阶段。而声明PRESERVE的作用是使事件在执行完毕后不会被Drop掉
- mysql定时计划任务,ON COMPLETION [NOT] PRESERVE 当单次计划任务执行完毕后或当重复性的计划任务执行到了ENDS阶段。而声明PRESERVE的作用是使事件在执行完毕后不会被Drop掉
- 详解MySQL用事件调度器Event Scheduler创建定时任务
- mysql 通过事件定时为数据库创建动态表名
- MySQL CREATE EVENT创建任务计划 定时执行任务(转)
- MySQL CREATE EVENT创建任务计划 定时执行任务
- MySQL CREATE EVENT创建任务计划定时执行任务
- 详解MySQL用事件调度器Event Scheduler创建定时任务
- mysql 通过创建“事件”定时执行“事务”
- mysql如何创建一个定时事件
- mysql 创建定时事件
- mysql如何创建一个定时事件
- mysql 创建定时事件
- Mysql创建定时事件
- mysql创建分区、存储统计、定时事件
- MySQL定时执行脚本(计划任务)命令实例