最近在做一个log管理。具体情形是这样的,在mysql中每天产生一个log数据表,要求自动删除N天前的数据表。之前对这方面没什么了解,查了很多资料,都是很抽象的从一个高度上讲了讲。在此,记录一下实现过程,供有需要的童鞋参考。写的可能有点笨拙,欢迎讨论,共同提高~
实现过程中用到了mysql中的存储过程(procedure)和定时器(event)。需要注意的是,mysql从5.1版本才开始支持定时器。
1、查看mysql版本
mysql> select version();
2、查看定时器开关
mysql> show variables like '%sche%';
+---------------------------------------------------+---------+
| Variable_name | Value |
+---------------------------------------------------+---------+
| event_scheduler | ON |
+---------------------------------------------------+---------+
| Variable_name | Value |
+---------------------------------------------------+---------+
| event_scheduler | ON |
如果value值为OFF,可以这样打开:
set GLOBAL event_scheduler=1;
想关闭,只需设置为0即可。
3、创建测试用数据表
mysql> create table 2013_