mysql 创建定时器

mysql  创建定时器

mysql定时器是系统给提供了event,而oracle里面的定时器是系统给提供的job。

废话少说,下面创建表:

create table mytable

(

  id int auto_increment not null,

  name varchar(100) not null default ‘‘,

  introduce text not null,

  createtime timestamp not null,

  constraint pk_mytable primary key(id)

)
创建存储过程,这里的存储过程主要提供给mysql的定时器event来调用去执行:

create procedure mypro()

BEGIN

insert into mytable (name,introduce,createtime) values (‘1111‘,‘inner mongolia‘,now());

end;

这里只是简单的写了一下,只是为了说明例子。
紧接着创建mysql的定时器event:

create event if not exists eventJob

on schedule every 1 second

on completion PRESERVE do call mypro();

这里设置为每一秒执行一次
至此所有的准备工作已经写完了,做完这些,mysql要想利用定时器必须的做准备工作,就是把mysql的定时器给开启了:

SET GLOBAL event_scheduler = 1;  -- 启动定时器

SET GLOBAL event_scheduler = 0;  -- 停止定时器
紧接着还要开启事件:

ALTER EVENT eventJob ON  COMPLETION PRESERVE ENABLE;   -- 开启事件

ALTER EVENT eventJob ON  COMPLETION PRESERVE DISABLE;  -- 关闭事件
SHOW VARIABLES LIKE ‘%sche%‘; -- 查看定时器状态
至此,你去数据库里面的表mytable里面看下,系统会每隔一秒去插入一条数据,嘻嘻,任务完成了。 select * from mytable

时间: 2024-11-07 20:41:31

mysql 创建定时器的相关文章

mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间

由于项目需要创建定时器(evevt),所以就百度了一下,发现基本都是来源于一个模板,有些功能还不全,现在自己总结一下. 注:mysql版本是从5.1开始才支持event的.如果你的版本低于5.1就先升级版本吧. 查看版本的方法有很多,这里只给大家提供一个    select version(): 1.查看是否开启evevt与开启evevt. 1.1.MySQL evevt功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的.               sh

Mysql 查看定时器 打开定时器 设置定时器时间

1 1.查看是否开启evevt与开启evevt. 2 3 1.1.MySQL evevt功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的. 4 show VARIABLES LIKE '%sche%'; 5 1.2.开启evevt功能 6 SET GLOBAL event_scheduler = 1; 7 2.创建定时器的过程 8 2.1.创建测试表test 9 drop table if exists test; 10 create table tes

mysql创建用户两次授权

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'     ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'     ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION; mysql> GRANT RELOAD,

MySQL创建数据库与创建用户以及授权

MySQL创建数据库与创建用户以及授权 1.create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库 采用create schema和create database创建数据库的效果一样. 2.create user '[用户名称]'@'%' identified by '[用户密码]';--创建用户 密码8位以上,包括:大写字母.小写字母.数字.特殊字符 %:匹配所有主机,该地方还可以设置成'

mysql 创建数据库和表格

mysql创建utf-8字符集数据库 CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; create table cc( id int(4) primary key auto_increment, //自增列 createtime timestamp NULL DEFAULTCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP //默认系统时间 )

MySQL创建高级联结

SQL允许给表取别名,这样做的两个主要理由是: 缩短SQL语句: 允许在单条SELECT语句中多次使用同一个表: 与之前相对应的我们使用别名来表示一个表: 自联结 问题:假如知道某一厂商生产的一个产品 ID 为 DTNTR有问题,需要从数据库中查找出该厂商生产的其他所有产品. 下面的SELECT语句可以将该vend_id所生产的所有产品查找出来: 现在来看使用联结的相同查询: MySQL创建高级联结,布布扣,bubuko.com

MySQL创建定时任务

一.前言 自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作.更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次.对于一些对数据实时性要求比较高的应用(例如:股票.赔率.比分等)就非常适合. 事件调度器有时也可称

MySQL 创建数据库并且指定编码

GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci MySQL 创建数据库并且指定编码,布布扣,bubuko.com

[转]MYSQL 创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的