日期:2014-05-16  浏览次数:20694 次

求一个Mysql的定时任务。新手级别。
要求:

自动新建表,表名为当天年月日,如果库中不存在此表就新建。然后每隔5分钟向表里插入1000条数据。

我没有可视化工具,用的是MySQL Command Line Client控制台。即,mysql>

请问使用命令如何建立这样一个计划任务?我的版本是5.0.18。

小弟不太会Mysql,求教高人。

------解决方案--------------------
DELIMITER $$

CREATE EVENT `FF1` ON SCHEDULE EVERY 5 MINUTE STARTS '2012-08-11 00:00:01' ON COMPLETION NOT PRESERVE ENABLE DO 
BEGIN
CREATE TABLE IF NOT EXISTS tt(id INT);
SET @i=1;
WHILE @i<=1000 DO
INSERT INTO tt VALUES(@i);
SET @i=@i+1;
END WHILE ;
END$$

DELIMITER ;
------解决方案--------------------
直接写一个shell
类似

#!/bin/bash
date1=`date --date "1 days" +%Y%m%d`
date2=`date --date "180 days ago" +%Y%m%d`
mysql itemchangehis --socket=/home/mysql/data_82/mysql.sock -uroot -ptoodou_newpass -e"CREATE TABLE td_itemchangehis_"$date1" (
id INT NOT NULL AUTO_INCREMENT , 
item_id INT NOT NULL , 
oper_type TINYINT(4) NOT NULL , 
change_type TINYINT(4) NOT NULL , 
add_time TIMESTAMP NOT NULL , 
PRIMARY KEY (id),
key (item_id)
) ENGINE = InnoDB DEFAULT CHARACTER SET = gbk;"


然后做到crontab里面
------解决方案--------------------
http://blog.csdn.net/acmain_chm/article/details/7703870

定时执行mysql数据库任务方案
命题: 每日 02:00 am 定时删除 表 t (id int primary key,ptime TIMESTAMP DEFAULT CURRENT_TIMESTAMP) 中三天以前的记录。 ======================================= 方法一:操作系统 ======================================= (...