求一个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) 中三天以前的记录。 ======================================= 方法一:操作系统 ======================================= (...