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
完美,网站正常恢复。
有人问会不会再次出现这个情况,一般来讲这是概率问题,不会频繁的,也因此网上也没多少新的教程。