MariaDB社区

标题: 求助:mysql 数据存储问题 [打印本页]

作者: junior    时间: 2009-10-28 22:51
标题: 求助:mysql 数据存储问题
本帖最后由 junior 于 2009-10-28 23:04 编辑

应用环境:syslog-ng + mysql + php-syslog-ng做日志存储,所有日志数据直接写进去数据库的两个表里,我现在只想存一年的数据,也就是说,比如到了2010年的今天,数据库会自动把这两个表里今天的数库给刷掉,以保证只保存一年的数据。我是新手,不知道这样的要求能不能实现,如果能,怎样实现,谢谢!另外我的数据库好象不能记录中文的日志,真诚期望大家的帮忙。
作者: junior    时间: 2009-10-28 22:55
这是数据库结构和表结构
mysql> show tables;
+------------------+
| Tables_in_syslog |
+------------------+
| actions           |
| cemdb            |
| logs                |
| search_cache |
| user_access   |
| users              |
+------------------+
6 rows in set (0.00 sec)
mysql> desc cemdb;
+-------------+-----------------+------+-----+---------+----------------+
| Field         | Type              | Null  | Key | Default | Extra          |
+-------------+-----------------+------+-----+---------+----------------+
| id          | int(5) unsigned | NO   | PRI | NULL    | auto_increment |
| name        | varchar(128)    | NO   | UNI |         |                |
| message     | text            | YES  |     | NULL    |                |
| explanation | text            | YES  |     | NULL    |                |
| action      | text            | YES  |     | NULL    |                |
| datetime    | datetime        | YES  |     | NULL    |                |
+-------------+-----------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

mysql> desc logs;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | mediumint(9) | NO   | PRI | NULL    | auto_increment |
| host     | varchar(128) | YES  | MUL | NULL    |                |
| facility | varchar(10)  | YES  | MUL | NULL    |                |
| priority | varchar(10)  | YES  | MUL | NULL    |                |
| level    | varchar(10)  | YES  |     | NULL    |                |
| tag      | varchar(10)  | YES  |     | NULL    |                |
| datetime | datetime     | YES  | MUL | NULL    |                |
| program  | varchar(15)  | YES  | MUL | NULL    |                |
| msg      | text         | YES  |     | NULL    |                |
| seq      | bigint(20)   | NO   | MUL | 0       |                |
| counter  | int(11)      | NO   |     | 1       |                |
| fo       | datetime     | YES  |     | NULL    |                |
| lo       | datetime     | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
13 rows in set (0.00 sec)
作者: junior    时间: 2009-10-30 21:22
难道真的不能实现这样的目的吗?
作者: lmkitty    时间: 2009-11-3 23:31
可以实现吧,后台需要有个脚本,每天运行,删除1年之前的数据就可以了。




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2