MySQL 5.1 的作业调度

红薯 发布于 2009/01/05 15:19
阅读 525
收藏 4

打从 MySQL 5.1.6 版本开始,就支持作业调度,通过设置可以指定 MySQL 在某个时间点,或者定期的执行一堆SQL语句或者是存储过程之类的,这个功能在一般的商业数据库都是支持的。

下面是创建一个作业的SQL例子:

CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE myschema.mytable SET mycol = mycol + 1;

你也可以借助 MySQL 的 GUI 客户端来创建调度作业,会更加直观,我用的 Navicat 就支持这个功能。

在创建完作业后,该作业还没有开始执行,默认情况下 MySQL 是不会启动作业调度线程的,要启动这个线程需要在配置文件的 [mysqld] 中加入这么一行:

event_scheduler=ON

然后重启MySQL后,作业就会开始根据预设的时间点执行。

当MySQL正在运行过程中,你想让作业调度线程停止的话,可以用下面任何一条语句:

SET GLOBAL event_scheduler = OFF;
SET @@global.event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = 0;

加载中
0
红薯
红薯

使用 mysqldump 备份数据库的时候,增加 -E 参数可以将作业导出。

0
0
张林
张林

mysql到现在还没有增量备份功能,我记得,我们以前备份都是拷贝整个库做备份,很麻烦,很耗时,占用空间也很大。

返回顶部
顶部