我正在使用WordPress和MySQL。我的网站最近崩溃了(由于数据库内存不足)
一旦站点启动,它看起来很好,但以防万一我在DB上运行了"修复"(来自phpmyadmin)。之后,它破坏了我的"wp_posts"表。我再次从旧版本恢复了DB——表看起来很好。我再次进行了"修复",结果同一张桌子坏了。
我在VPS服务器上。所以我没有root访问权限,但我可以让网络管理员检查一下。
知道是什么原因造成的吗?/如何解决?
谢谢。
这是MySQL服务器配置问题。我也遇到过同样的问题。在我的案例中,这是由于一个名为myisam_sort_buffer_size
的MySQL系统变量被设置为一个小得离谱的值(4096)。这干扰了repair table
的操作。在我的案例中,wp_posts
文件和其他文件使用了MyISAM访问方法。如果您使用InnoDB,您将希望查看控制该访问方法的变量,而不是MyISAM。
向MySQL服务器发出以下命令:
show variables like '%buffer_size'
然后寻找看起来很低的变量。
您可能还想查看MySQL服务器错误日志文件。
如果您自己运行服务器,请小心进行配置更改:首先阅读文档页面。http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
如果您的托管提供商运行服务器,请输入请求票证,要求将其上报给了解MySQL的支持人员,并具体说明问题所在。