REPAIR TABLE是mysql中自带的一个修复表的功能,语法是REPAIR TABLE `table_name` 修复表 就要以了,但是在linux中如果目录权限不够是无法进行表的修复的,所以很多朋友们在于linux中会发现REPAIR TABLE不可用了,下面一起来看问题排除方法.
REPAIR TABLE语法:
REPAIR TABLE `table_name` 修复表
REPAIR TABLE 用于修复被破坏的表
在linux中使用:REPAIR TABLE `table_name` pre_forum_thread
提示:
- xt.pre_forum_threadrepairerror1whenfixingtable
- xt.pre_forum_threadrepairErrorCan'tchangeownershipofthefile'/usr/local/mys...
- xt.pre_forum_threadrepairstatusOperationfailed
解决办法:
cd 过去:/var/lib/mysql/(mysql 在linux 下默认的安装路径)确保在mysql文件下面:
chown -R mysql:mysql *
在到phpmyadmin 等工具中就可以 REPAIR TABLE 了,之前有个系统一直出现表异常,phpmyadmin修复又提示“Can’t change ownership of the file ‘/xxx/xxx.MYD’ (Errcode: 1 – Operation not permitted)”,检查后问题暂时得以解决,但很快又会异常,于是着手尝试解决该问题。发现该问题是由于该文件权限设置异常导致的,将其权限和其同目录的其他文件统一后问题得以解决,具体方法如下:
进入其文件所在目录,执行指令:ls -l.
查看该文件以及所在目前其他文件的权限是否一致,一般情况下是不一致的~~~
此时,就要通过:
- chown-R用户xxx.MYD
- chgrp-R用户组xxx.MYD
- chmod权限xxx.MYD
来将改文件的用户权限和用户组修改为同目录其他文件一致,上面代码中,权限部分是类似777的设置,具体不懂的话自己谷歌去.
修改结束后,通过phpmyadmin既可修复该表.