标题: 修复论坛“is marked as crashed and last (automatic?) repair failed”的几种方法 [打印本页] 作者: superadmin 时间: 2009-1-14 13:14 标题: 修复论坛“is marked as crashed and last (automatic?) repair failed”的几种方法 以前就讨论过很多论坛方面的问题,比如修复论坛数据库、优化论坛数据库以及优化论坛的访问负载能力,特别是这个discuz6版本,默认安装下的版本,真的是性能不敢恭维,难道稍大一点的论坛,都要用专用服务器来抗吗?难道每一个稍大点论坛都要有一个精通discuz论坛代码、精通mysql数据库的技术人员吗?这策略,太让人难以接受,以前的版本包括最近的discuz5.5就非常好,只是功能上稍欠缺了一些而已!因此,论坛,性能也是很重要的,phpwind这方面做得就是比discuz好,当然,最近几个phpwind版本,也在这方面有所忽视了。
今天遇到的这个问题过程是这样的:一个朋友论坛,他说有几个月没有优化了,discuz官方说,过几个月,可以优化一下数据库,提防碎片过多,影响论坛速度,因此我就登陆到他论坛后台,先更新了下系统缓存,然后直接点击优化数据库,提示有二百多M碎片数据表需要优化,这已经非常多了,默认是选择所有需要优化表状态,直接点击提交,进行优化。优化时,网站已经不能访问了,然后连接服务器,也出现连接非常缓慢的情况,怀疑是优化时占用资源过多,引起服务器响应不过来其他请求,假死机了。继续远程连接,仍然连接不上,无奈,只有关掉刚才的优化网页,依照经验,这时候是不能让机房重启服务器的,这种硬性的重启是非常容易损失表以及表中的数据库。关掉优化网页以后,等了一会,可以连接上远程桌面了,此时网站网页已经提示错误代码“posts' is marked as crashed and last (automatic?) repair failed”,看越来是posts表损坏,自动修复没有成功。这个表存有大量的帖子数据,是非常重要而关键的表,这个表如果损失不能修复,论坛就要麻烦大了。