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

菜鸟品网
1

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

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

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

一条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

菜鸟品网
12
Hostinger 免费主机网站迁移到 000webhost 的步骤

原来在 Hostinger 免费主机上搭建了一个网站,今天提示原免费主机将在两个月后关闭,不过,服务商将继续提供免费主机,不过,需要将网站转移到据说专用且更先进的平台 – 000webho …

菜鸟品网
10
ShadowRocket:iPhone XS 手机不越狱科学上网的方法

我用 iPhone 手机不喜欢越狱,也不喜欢为了下载个 App 要切换到美国区ID,所以一直没找到好的科学上网的方法。 近日看到 ShadowRocket 相关介绍,试用了一下,果然方便,记录一下。 …

菜鸟品网
10
纯代码部署 WordPress 博客侧边栏“网站统计”功能

发现有些用 WordPress 博客程序架设的网站会有个“网站统计”模块,列出了建站时间、运行天数、文章数目、浏览次数,及最后更新时间等信息,觉得还是挺实用的,于是也准备给自己的网站添加一个。 当然, …