腾讯云服务器优惠活动华纳云香港服务器

MySQL数据库wp_posts表修复失败的原因及对策

WordPress主题推荐

这两天网站运行时多次发现不加载显示文章内容,而网页架构、评论等都是正常的,登录 phpMyAdmin 查看 MySQL 数据库,发现 wp_posts 表状态显示为:使用中…,也就是说 wp_posts 表崩溃了,或者说是锁死了。

MySQL数据库wp_posts表修复失败的原因及对策-第1张-boke112百科(boke112.com)

站点有文章但不加载文章内容

MySQL数据库wp_posts表修复失败的原因及对策-第2张-boke112百科(boke112.com)

wp_posts 表状态显示使用

这种情况下,执行“优化表”或“修复表”时,均报错“错误,无法创建新的临时文件:’./yseeker/wp_posts.TMD’”。但可以执行“分析表”和“检查表”,执行后表文件正常,网站可以正常访问,但过一段时间又发生 wp_posts 表崩溃的现象。而且一执行“优化表”或“修复表”,表就崩溃。显然 wp_posts 存在着错误。

MySQL数据库wp_posts表修复失败的原因及对策-第3张-boke112百科(boke112.com)

参照网上的一些方法,我尝试了这种操作:

  1. 打开 Shell 软件,登录服务器;
  2. 运行命令:myisamchk -r -f wp_posts.MYI,报错:’wp_posts.MYI’文件不存在。
  3. FTP 登录到服务器,找到 wp_posts.MYI 文件所在地,/var/lib/mysql/yseeker/wp_posts.MYI,删除此文件(删除前请备份此文件)。
  4. 重新在 Shell 下运行命令:myisamchk -r -f wp_posts.MYI,仍然报错:’wp_posts.MYI’文件不存在。
  5. 把 wp_posts.MYI 恢复,并在 Shell 下运行命令:myisamchk -r -f /var/lib/mysql/yseeker/wp_posts.MYI,显示修复成功。
注:所以我认为如果在第 2 步直接执行第 5 步的操作步骤就可以了。

然后登录 phpMyAdmin ,尝试在 wp_posts 表中使用“优化表”或“修复表”功能(这样肯定比在 Shell 中执行方便直观的多),又发生了新的错误:Table ‘wp_posts’ is read only. 不能进行修复操作。

MySQL数据库wp_posts表修复失败的原因及对策-第4张-boke112百科(boke112.com)

我在 FTP 中对 yseeker 文件夹中的所有文件设置777权限也不行,又搜索网络上的这个方法,使用 mysqladmin 命令进行修改。

  1. 首先,找到 mysqladmin 命令所在位置,一般都在 mysql/bin 下面,看安装时设定的文件夹,像我的在 /usr/bin/。
  2. 运行如下命令:/usr/bin/mysqladmin -u root -p flush-tables
  3. 按提示输入 root 账号的密码,没有任何提示,但重新打开 wp_posts 时,一切正常了。

我用的是阿里云的服务器,系统和应用是自己架设的,所以出了问题,阿里的工程师们并不负责解决,我们也理解。所以建议普通用户,还是使用阿里云的虚拟主机吧。这次他们推出的轻量级服务器,倒是完成了系统和应用的安装,选择 Linux 系统和 WordPress 应用,及 MySQL 数据库,可以方便地使用,一键绑定域名部署 https 访问,不过 FTP 要自己架设。

赞 (0) 打赏
版权声明:本文为投稿文章,感谢 醒悟的凡灵 的投稿,版权归原作者所有!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
香港云主机55元/年
wu