背景:
采用RHEL4+MailScanner作为邮件网关,每日各地邮件和大约100万封,1.5万账户,日均活跃1万以上,通常客户端每3分钟收取一次邮件。
现象:
邮件网关web页面(MailWatch)的统计及查询功能突然失效,无法显示有效数据:
原因:
在“辅助工具”的“mysql数据库状态”中可以看出,其中的Max_data_length(表最大值)值为4294967295,Data_length(当前值)值也为4294967295。
说明单个库空间已经达到最大值(缺省4G),导致无法写入。但邮件收发正常,邮件日志也可以在maillog中查到。
解决办法:
对该限制进行修改:
mysql> show table status like ‘maillog’ G
*************************** 1. row ***************************
Name: maillog
Engine: MyISAM
Version: 9
Row_format: Dynamic
Rows: 3151124
Avg_row_length: 1398
Data_length: 4294967295
Max_data_length: 4294967295
Index_length: 211324928
Data_free: 0
Auto_increment: NULL
Create_time: 2006-12-23 12:53:29
Update_time: 2006-12-25 09:05:09
Check_time: 2006-12-23 12:56:35
Collation: latin1_swedish_ci
Checksum: NULL
Create_options: max_rows=1000000000
Comment:
1 row in set (0.00 sec)mysql> alter table maillog max_rows = 1000000000 ;
Query OK, 926859 rows affected (48.45 sec)
Records: 926859 Duplicates: 0 Warnings: 0mysql> show table status like ‘maillog’ G
*************************** 1. row ***************************
Name: maillog
Engine: MyISAM
Version: 9
Row_format: Dynamic
Rows: 926960
Avg_row_length: 1351
Data_length: 4294967295
Max_data_length: 281474976710655
Index_length: 66923520
Data_free: 0
Auto_increment: NULL
Create_time: 2006-12-25 09:07:43
Update_time: 2006-12-25 09:09:25
Check_time: 2006-12-25 09:08:30
Collation: latin1_swedish_ci
Checksum: NULL
Create_options: max_rows=1000000000
Comment:
1 row in set (0.00 sec)
即时生效。统计查询功能恢复正常。
参考: