wordpress数据库一个表修复失败,显示使用中,提示Can’t create new tempfile: ‘./ca_ceshi/wp_posts…. 解决方案

赛高部落

最近某公司WordPress网站出现错误,文章全部显示404,其工作人员找到博主希望得到解决,

博主登录网站数据库查看,记录文章的那个表wp_posts显示使用中,这种情况下,通常是选项修复或者优化表就能够解决问题的,但是尝试了下报错:

REPAIR TABLE wp_posts;

error Can‘t create new tempfile: ‘./ca_ceshi/wp_posts.TMD

repair status Operation failed

备注:此处的ca_ceshi是数据库的名字,执行命令的时候自行替换成自己的!

解决方法:
我也是第一次见到这个问题,网上搜索以前的教程是只要删除这个TMD文件,再进行修复就可以。

1.因为是宝塔搭建的网站,所以找到宝塔数据库文件存放的位置:/www/server/data/ca_ceshi ,这里面就可以看到wp_posts.MYI,wp_posts.TMD等一些数据库文件。

2.找到并删除wp_posts.TMD

3.以root身份登录shell后台,输入命令 停止数据库:service mysql stop  然后再次输入修复命令:myisamchk -r -f -o /www/server/data/ca_ceshi/wp_posts

进入自动修复阶段,有显示进程:下面意味着修复了69881篇文章。

– recovering (with keycache) MyISAM-table ‘/www/server/data/ca_ceshi /wp_posts’
Data records: 69881

4.修复完成后,我们启动数据库即可:service mysql start

完美,网站正常恢复。

有人问会不会再次出现这个情况,一般来讲这是概率问题,不会频繁的,也因此网上也没多少新的教程。

发表评论