欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL分区表未建导致Rsyslog写入数据失败

程序员文章站 2024-02-13 16:05:28
...

当初为了提高Rsyslog + MySQL + LogAnalyzer这一套系统的性能,给MySQL做了分区表,结果发现并不能根本上解决问题。可行的解决方

当初为了提高Rsyslog + MySQL + LogAnalyzer这一套系统的性能,给MySQL做了分区表,结果发现并不能根本上解决问题。可行的解决方案可能是和暴风的做法一样:一日一表。

今天上午发现系统记录异常,在LogAnalyzer里面发现最晚一条记录是昨晚零点左右的。由于日志是分别记在MySQL和文件里面的,查看文件发现日志记录正常。在完全没有头绪的情况下,决定使用Rsyslog官方介绍的方法启动Rsyslog的Debug模式:

1. 暂停Rsyslog服务

2. /sbin/rsyslogd -c3 -dn > r.log

3. tail -f r.log

在日志里面发现MySQL没有为今天创建分区,导致数据插入失败,重新创建分区,问题解决。

创建分区相关SQL:

查看到某一天的天数:

select to_days(20110331);

+-------------------+
| to_days(20110331) |
+-------------------+
| 734592 |
+-------------------+
1 row in set (0.00 sec)

创建分区:

alter table SystemEvents add partition (partition p20110331 values less than (734592));

MySQL分区表未建导致Rsyslog写入数据失败