一次意外断掉后,cacit监控无数据了,查看日志:

2013年05月16日 10:54:41 AM - CMDPHP: Poller[0] ERROR: SQL Assoc Failed!, Error:'145', SQL:"select  poller_output.output,  poller_output.time,  poller_output.local_data_id,  poller_item.rrd_path,  poller_item.rrd_name,  poller_item.rrd_num  from (poller_output,poller_item)  where (poller_output.local_data_id=poller_item.local_data_id and poller_output.rrd_name=poller_item.rrd_name)  LIMIT 10000"

上网找到资料

#连接损坏表所在的数据库:

mysql> use cacti;
Database changed
# REPAIR TABLE 修复数据表
mysql> REPAIR TABLE poller_item;
+——————-+——–+———-+———-+
| Table             | Op     | Msg_type | Msg_text |
+——————-+——–+———-+———-+
| cacti. poller_item | repair | status   | OK
|
+——————-+——–+———-+———-+
1 row in set ( 0. 02 sec)
mysql>
修复成功。
如果修复失败,可以尝试用USE_FRM选项,例:
mysql> REPAIR TABLE poller_item USE_FRM;