发布于 2016-10-21 06:05:46 | 338 次阅读 | 评论: 0 | 来源: PHPERZ
Mysql关系型数据库管理系统
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
今天在optimize table一个大表时犹豫没有执行完成就强行终止了,导致表损坏提示:
Table 'xxx'is marked as crashed and last (automatic) repair failed。这意味着该表被标记为跌宕了。于是想着修复:repair table arvhives,修复却失败了。
一,在mysql下用repair table 表名来尝试修复。
二,执行以下命令
1)service mysqld stop 停止mysql服务;
2)cd /var/local/mysql/tbl 切换到该表目录下(注意:不切换过来会总提示myisamchk一些错误导致失败);
3)myisamchk -r xxx.MYI (如果还是提示错误,就多加一个参数-f 强制进行。)
[root@localhost tjinfo]# myisamchk -r dede_archives.MYI - recovering (with sort) MyISAM-table 'dede_archives.MYI' Data records: 1781 - Fixing index 1 - Fixing index 2 - Fixing index 3 - Fixing index 4
注意:虽然这样成功了,但是当你再次添加文章的时候,又会出现这样的问题,所以长久的解决办法如下:
把服务器上的数据导入到本地,然后在本地用myisamchk -r -f *.MYI修复了下,然后导回去。