MySQL数据库wp_posts表修复失败

2020年3月15日14:35:07 发表评论 26 views

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

MySQL数据库wp_posts表修复失败

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

MySQL数据库wp_posts表修复失败

wp_posts 表状态显示使用

 

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

MySQL数据库wp_posts表修复失败

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

  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表修复失败

我在 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 要自己架设。

©里维斯社,本站推荐使用的主机:阿里云腾讯云;本站推荐使用的WP主题:WordPress主题

网络转载
晨会游戏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: