MySQL 144错误

CactiEZ无法出图了,查看cacti日志发现好多错误,大部分类似以下两个,都是与cacti数据库的表有关系。 

CMDPHP: Poller[0] ERROR: SQL Row Failed!, Error:'144', SQL:"SHOW CREATE TABLE 'cacti'.'syslog'

或者:

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"

分别是144和145错误,都是数据库的某张表有问题了,登录mysql:mysql -uroot -p cacti,密码为空。

进入数据库执行相同的命令,提示如下错误:
ERROR 144 (HY000): Table './cacti/syslog' is marked as crashed and last (automatic?) repair failed

原来是该表已经损坏,参考: http://www.kuqin.com/database/20090811/66473.html
进入mysql的数据库目录(CactiEZ默认在/var/lib/mysql/cacti),执行下面的命令:
myisamchk -c -r ./syslog.MYI

执行后将会出现下列信息:
- recovering (with sort) MyISAM-table './syslog.MYI'
Data records: 5206
- Fixing index 1
- Fixing index 2
- Fixing index 3
- Fixing index 4
- Fixing index 5
Data records: 5207


重启mysql数据库即恢复正常。

你可能感兴趣的:(MySQL 144错误)